递归
Saulty
这个作者很懒,什么都没留下…
展开
-
LeetCode 98. 验证二叉搜索树
LeetCode 98. 验证二叉搜索树题目题解代码 题目 题解 递归 设立lower,upper两个临界值,来判断该节点位置是否正确 中序遍历 BST根据其性质,中序遍历获得的数组应单调增 代码 /** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode() : val(0),原创 2021-07-31 12:50:07 · 60 阅读 · 0 评论 -
LeetCode 101. 对称二叉树
LeetCode 101. 对称二叉树题目题解代码 题目 题解 层次遍历树 将树的每一层放在一个数组中,进行对比 注意对于空节点,用100000代替 递归 对于两个节点,判断其值是否相等,其左节点和另右节点是否相等,其右节点和另左节点是否相等 代码 /** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; *原创 2021-07-28 12:06:53 · 42 阅读 · 0 评论 -
LeetCode 104. 二叉树的最大深度
LeetCode 104. 二叉树的最大深度题目题解代码 题目 题解 树的层次遍历 添加代表层数的参数,每次循环层数加1 递归 考虑递归之间的关系 某节点的最大深度=max(其左节点的最大深度,其右节点的最大深度)+1 代码 /** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNod原创 2021-07-28 12:06:17 · 53 阅读 · 0 评论 -
LeetCode 145. 二叉树的后序遍历
LeetCode 145. 二叉树的后序遍历题目题解代码 题目 题解 递归 迭代模板 代码 /** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode() : val(0), left(nullptr), right(nullptr) {} * TreeNode(int原创 2021-07-27 15:09:18 · 54 阅读 · 0 评论 -
LeetCode 94. 二叉树的中序遍历
LeetCode 94. 二叉树的中序遍历题目题解代码 题目 题解 递归 迭代模板 代码 /** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode() : val(0), left(nullptr), right(nullptr) {} * TreeNode(int x原创 2021-07-27 15:08:56 · 47 阅读 · 0 评论 -
LeetCode 144. 二叉树的前序遍历
LeetCode 144. 二叉树的前序遍历题目题解代码 题目 题解 参考: https://leetcode-cn.com/problems/binary-tree-preorder-traversal/solution/tu-jie-er-cha-shu-de-si-chong-bian-li-by-z1m/ 递归 迭代+栈 迭代模板 代码 /** * Definition for a binary tree node. * struct TreeNode { * int val原创 2021-07-27 15:08:33 · 47 阅读 · 0 评论 -
LeetCode 784. 字母大小写全排列
LeetCode 784. 字母大小写全排列题目题解代码 题目 给定一个字符串S,通过将字符串S中的每个字母转变大小写,我们可以获得一个新的字符串。返回所有可能得到的字符串集合。 示例: 输入:S = “a1b2” 输出:[“a1b2”, “a1B2”, “A1b2”, “A1B2”] 输入:S = “3z4” 输出:[“3z4”, “3Z4”] 输入:S = “12345” 输出:[“12345”] 提示: S 的长度不超过12。 S 仅由数字和字母组成。 题解 类比组合问题和全排序问题,使用回溯法 对原创 2021-07-14 12:56:29 · 124 阅读 · 0 评论 -
LeetCode 46. 全排列
LeetCode 46. 全排列题目题解代码 题目 给定一个不含重复数字的数组 nums ,返回其 所有可能的全排列 。你可以 按任意顺序 返回答案。 示例 1: 输入:nums = [1,2,3] 输出:[[1,2,3],[1,3,2],[2,1,3],[2,3,1],[3,1,2],[3,2,1]] 示例 2: 输入:nums = [0,1] 输出:[[0,1],[1,0]] 示例 3: 输入:nums = [1] 输出:[[1]] 提示: 1 <= nums.length <= 6 -10原创 2021-07-14 12:55:37 · 41 阅读 · 0 评论 -
LeetCode 77. 组合
LeetCode 77. 组合题目题解代码 题目 给定两个整数 n 和 k,返回 1 … n 中所有可能的 k 个数的组合。 示例: 输入: n = 4, k = 2 输出: [ [2,4], [3,4], [2,3], [1,2], [1,3], [1,4], ] 题解 参考 https://leetcode-cn.com/problems/combinations/solution/dai-ma-sui-xiang-lu-dai-ni-xue-tou-hui-s-0uql/ 回溯法=树的深度优先遍原创 2021-07-14 12:54:48 · 58 阅读 · 0 评论 -
LeetCode 21. 合并两个有序链表
LeetCode 21. 合并两个有序链表题目题解代码 题目 题解 链表:新节点的创建 迭代:利用第三方链表,哨兵节点 递归:无需第三方链表 代码 /** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode() : val(0), next(nullptr) {} * ListNode(int x) : val(x),原创 2021-07-13 11:34:51 · 47 阅读 · 0 评论