摘要:
题目:输入两个链表,找出它们的第一个公共节点。 解法一:利用HashSet,比较捞 解法二:双指针 思路:两个链表长度分别为m+C、n+C, C为公共部分的长度,第一个人走完一轮后,回到第二个人起点走n步;第2个人走了n+C步后,回到第一个人起点走m步。 此时它们因走的步数相同而相遇。 代码: /* 阅读全文
posted @ 2020-11-08 21:11
for_ward
阅读(48)
评论(0)
推荐(0)
摘要:
题目:输入一个链表的头节点,从尾到头反过来返回每个节点的值(用数组返回)。 解法一:借助栈 思路:栈的特点是先进后出,java有stack类 代码: /** Definition for singly-linked list. public class ListNode { int val; Lis 阅读全文
posted @ 2020-11-08 20:02
for_ward
阅读(51)
评论(0)
推荐(0)
摘要:
题目:一只青蛙一次可以跳上1级台阶,也可以跳上2级台阶。求该青蛙跳上一个 n 级的台阶总共有多少种跳法 解法一:动态规划(自顶向下) 代码: class Solution { int[] t; //存储到n级阶梯的走法 public int numWays(int n) { t = new int[ 阅读全文
posted @ 2020-11-08 15:49
for_ward
阅读(67)
评论(0)
推荐(0)
摘要:
题目:定义一个函数,输入一个链表的头节点,反转该链表并输出反转后链表的头节点。 解法一:双指针(简单) 思路:直接让后一个指向前一个 解法二:递归 思路:将链表看作已经反转和还未反转两个部分 代码: /** Definition for singly-linked list. public clas 阅读全文
posted @ 2020-11-08 12:04
for_ward
阅读(35)
评论(0)
推荐(0)

浙公网安备 33010602011771号