随笔分类 -  LeetCode

刷题小记
摘要:力扣99 恢复二叉搜索树 将二叉树错位的两个节点恢复原来的样子。 有两点需要注意: 中序遍历有三种方式: 显示递归,隐式递归,Mirrors, 只有最后这个能使空间复杂度为O1,但是前两个也得会。 节点值取值范围为Int类型所有值,初值必须设置为double类型,为Integer.MIN_VALUE 阅读全文
posted @ 2022-04-27 14:23 淮南枳 阅读(66) 评论(0) 推荐(0)
摘要:力扣 6 Z字形变换 ##方法一 硬刚法 首先,我们硬刚他: 最开始的想法就是做numRows个list,按顺序原来字符串的顺序轮着赋值,如下图所示,然后返回list1+list2+list3+list4的拼接。 也就是遍历原字符串,从1到length,依次追加到表 list1 list2 list 阅读全文
posted @ 2022-01-05 22:09 淮南枳 阅读(135) 评论(0) 推荐(0)
摘要:17 电话号码的字母组合 StringBuilder 的 delete() append() length() toString() 关于List Array ArrayList LinkedList 这些我又忘光了,,, 基础啊,,,, 可以说是为数不多的速战速决。 class Solution 阅读全文
posted @ 2022-01-02 12:44 淮南枳 阅读(41) 评论(0) 推荐(0)
摘要:在排序数组中查找元素的第一个和最后一个位置 给定一个按照升序排列的整数数组 nums,和一个目标值 target。找出给定目标值在数组中的开始位置和结束位置。 如果数组中不存在目标值 target,返回 [-1, -1]。 进阶:你可以设计并实现时间复杂度为 O(log n) 的算法解决此问题吗? 阅读全文
posted @ 2021-12-10 17:07 淮南枳 阅读(112) 评论(0) 推荐(0)
摘要:位运算的题 ##1 231. 2的幂次方 class Solution { public boolean isPowerOfTwo(int n) { if (n==0)return false; while((n&1)==0){n>>=1;} if(n==1)return true; else re 阅读全文
posted @ 2021-12-10 16:01 淮南枳 阅读(57) 评论(0) 推荐(0)
摘要:力扣 198.打家劫舍 题目类型:动态规划,类似爬楼梯,但这道题更好,爬楼梯虽然写了很多解法,但是总给人一种只能解决斐波那契数列的问题(其实是斐波那契满足了动态规划的某些条件)。而这道题让我知道了动态规划问题的意义。 多决策问题时候用动态规划,什么是多决策问题呢? 阶段:把所给求解问题的过程恰当地分 阅读全文
posted @ 2021-12-07 11:28 淮南枳 阅读(31) 评论(0) 推荐(0)
摘要:LeetCode 77. 组合 给定两个整数 n 和 k , 返回 [1,n] 中所有可能的 k 个数的组合,无顺序。 考到了**回溯算法**,这和之前学的多源bfs有一点点相似,具体的区别我还是很模糊。 再有 java 可以用List接口定义一个 ArrayList,符合java的动态绑定机制。 阅读全文
posted @ 2021-12-05 21:23 淮南枳 阅读(32) 评论(0) 推荐(0)