cody1991

记录下来,变成自己的东西

[置顶] 生活清单

始于 2020 年 12 月 27 号 2021 年 电影 在看 想看 看完 电视剧 看完 想见你...

LeetCode 120. 三角形最小路径和

简单思路:画个简单的草稿就知道怎么算出来最小值了,也是一个动态规划的问题 120. 三角形最小路径和 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 /** * @param {number[][]} triangle * @return {number} */ var minimumT...

LeetCode 110. 平衡二叉树

简单思路:根据 “一个二叉树每个节点的左右两个子树的高度差的绝对值不超过 1。” 递归算每个节点的左右节点的高度,判断是否超出 1 来决定是否为平衡二叉树 110. 平衡二叉树 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 /** * Definition for a binary tree node. * f...

LeetCode 104. 二叉树的最大深度

简单思路:计算最大深度 104. 二叉树的最大深度 DFS 解法 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 /** * Definition for a binary tree node. * function TreeNode(val) { * this.val = val; * this.left = this.right = ...

LeetCode 102. 二叉树的层序遍历

简单思路:层序遍历 102. 二叉树的层序遍历 DFS 解法 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 /** * Definition for a binary tree node. * function TreeNode(val) { * this.val = val; ...

LeetCode 300. 最长上升子序列

简单思路:还可以优化 300. 最长上升子序列 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 /** * @param {number[]} nums * @return {number} */ var lengthOfLIS = function ...

LeetCode 53. 最大子序和

简单思路:dp[i] = Math.max(nums[i], dp[i-1] + nums[i]),动态规划的思路,当前最大子序和是比较上一次最大子序加上当前数字与当前数字谁大谁小,大的就是当前最大子序和。我们也会记录全局的最大自序和,就是最后的结果了 53. 最大子序和 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 /** * @param...

LeetCode 70. 爬楼梯

简单思路:动态规划的简单问题,我们爬楼梯到三楼的可能次数是到一楼和到二楼的可能次数,以此类推 70. 爬楼梯 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 /** * @param {number} n * @return {number} */ var climbStairs = function (n) { if (n === 1...

LeetCode 6. Z 字形变换

简单思路:按照题目意思画出对应的运行流程,就可以看出规律,写出对应的代码了 6. Z 字形变换 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 /** * @param {string} s * @param {number} numRows...

LeetCode 21. 合并两个有序链表

简单思路:设定一个哨兵指针指向开头,设定一个 cur 指针指向现在遍历的位置,判断两个链表第一个元素的大小,小的加入到 cur 中。最后还有剩下的 cur.next 直接指向它,得到最后的结果 21. 合并两个有序链表 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 3...

LeetCode 2. 两数相加

简单思路:链表形式的加法运算,我们只要遍历两个链表,记得进位 + 1 就好了 2. 两数相加 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 /** * Definition for singly-linke...