天生撅墙
天生撅墙
全部文章
题解
知识点总结(1)
归档
标签
去牛客网
登录
/
注册
解题杂谈小论
全部文章
/ 题解
(共8篇)
Java 合并两个排序的链表
本题两种解法: 暴力的解法: 1.1 遍历 list1 和 list2,然后用 List 接收其中的数值,然后转为数组,然后排序,然后又转回链表。 1.2 其时间复杂度和空间复杂度都较大,只是为了解题解题。代码如下:``` public ListNode Merge(ListNode list1,...
自我题解
2020-09-16
2
888
Java 买卖股票的最佳时机
首先排除直接进行 Arrays.sort(),因为我们没法保证股票不会跌价; 最少赚取的钱应该为0,不会小于零,所以定义 max 初始值为 0; 两个循环,外循环是买价,内循环是卖价,内循环是在外循环天数的基础上加一; 然后用三目运算进行判断即可。代码如下: public int maxProfit...
自我题解
2020-09-05
2
1178
Java 括号序列
定义一个栈,泛型为 Character,用来接收或者比较 S 的每个字符。 首先进行判断,如果栈为空,直接 add,否则的话进行判断,如果和前一个字符相等,直接添加,因为相等的字符肯定不是括号序列,然后依次进行判断每个字符。代码如下: public boolean isValid (String s...
自我题解
2020-09-05
3
3160
Java 求平方根
Java 求数 n 的平方根 如果一个数 i,i * i 小于 n,(i + 1) * (i + 1)大于 n,那么这个数就是 n 的平方根。 从 1 开始遍历即可。代码如下:``` public int mysqrt (int x) { // write code here if (x <...
自我题解
2020-09-04
36
1556
Java 链表中节点每K个一组翻转
用 Java 实现链表中的节点每 K 个一组翻转。 首先明白,每 K 个一组翻转,剩余长度不足的话则不翻转,所以我们首先应该求出链表的长度 length,然后通过 length - (length % K)求出我们需要翻转的链表的总长度。 然后定义两个循环体,用外循环体控制我们需要翻转的链表的总...
自我题解
2020-09-04
7
944
两个链表相加生成相加链表
两个链表相加生成相加链表这道题总是报超时,一样的结题思路以及方法,但是总是无法AC,一直75%,报超时(可能太菜代码优化不够)。但总体思路没得问题的。 第一种解法 因为两个数相加的话,无法直接判断是否有进位以及位数是否相等,所以只能从个位向前相加,所以这个刚好符合栈的特性。所以创建两个栈来接收...
自我题解
2020-09-04
2
1641
删除链表的倒数第n个节点
删除链表的倒数第n个节点首先,我们要清楚链表的长度length,这样的话,要删除倒数第n个节点的话,就是删除正数的第(length - n)个节点(从 0 开始遍历链表)(当删除倒数第length的节点时例外,因为我们遍历链表的时候从 0 开始,所以这个时候我们需要单独将条件提出)。其次,当我们遍历...
自我题解
2020-09-02
12
913
链表是否有环
链表是否有环题解。 投机取巧式解法//当链表中有环的情况下,有一个指针指向该链表,可以一直循环走下去//除以 100000 是为了刚好可以在指定时间内结束,不然报错 public class Solution { public boolean hasCycle(ListNode head) {...
自我题解
2020-09-01
5
958