随笔分类 - leetcode(力扣刷题)
摘要:[编程题] lc:70. 爬楼梯 题目描述 输入输出例子 方法1:普通递归 思想:化为子问题 Java代码 //方法1:普通递归 public int climbStairs(int n) { if(n==1){return 1;} if(n==2){ return 2; }else{ return
阅读全文
摘要:[编程题] lc:236. 二叉树的最近公共祖先 题目描述 输入输出例子 思路 使用后续遍历的思想,根据找到了左和右的情况,进行相应的返回结果。 Java代码 /** * Definition for a binary tree node. * public class TreeNode { * i
阅读全文
摘要:单链表判断是否回文 题目描述 思路 三个指针,分别n1,n2,n3;三个指针不断往后移动。 1、总体思路 找到中间节点,然后把后半个链表反转后与前半部分比较。 (注意:奇数个链表的话是从中点的后一个节点逆置;偶数个链表的话从中间链表的节点逆置) 2、问题是如何找到中间节点 使用快慢指针,两指针一开始
阅读全文
摘要:翻转单链表 题目描述 思路 三个指针,分别n1,n2,n3;三个指针不断往后移动。 Java代码 方法1:三个指针标记循环往后走 //方法3:三个指针循环后移 public ListNode reverseList(ListNode head) { if(head==null) {return nu
阅读全文
摘要:题目:判断链表是否有环 题目描述 示例 进阶: 你能用 O(1)(即,常量)内存解决此问题吗? Java代码 方法1:快慢指针 /** * Definition for singly-linked list. * class ListNode { * int val; * ListNode next
阅读全文
摘要:反转字符串 题目描述 示例 Java代码 class Solution { //思想:前后位置交换 public void reverseString(char[] s) { //标记数组首 int left = 0; //标记数组尾 int right = s.length-1; //临时变量,初
阅读全文
摘要:合并两个有序链表 题目描述 示例 Java代码 /** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode() {} * ListNode(int
阅读全文

浙公网安备 33010602011771号