摘要: LC216. 组合总和 Ⅲ 与昨天的“LC77-组合”类似,就是在昨天终止条件只需计算元素个数的基础上,再加一个总和为规定值的条件,回溯时,把sum、count、temp这些变量都一起回溯 int sum = 0; int count = 0; vector<int> temp; void comb 阅读全文
posted @ 2023-02-25 13:56 冥紫将 阅读(30) 评论(0) 推荐(0)
摘要: 回溯算法理论基础 回溯法,一般可以解决如下几种问题: 组合问题:N个数里面按一定规则找出k个数的集合 切割问题:一个字符串按一定规则有几种切割方式 子集问题:一个N个数的集合里有多少符合条件的子集 排列问题:N个数按一定规则全排列,有几种排列方式 棋盘问题:N皇后,解数独等等 回溯法解决的问题都可以 阅读全文
posted @ 2023-02-24 15:00 冥紫将 阅读(45) 评论(0) 推荐(0)
摘要: LC669. 修剪二叉搜索树 相当于一个中序遍历吧,当某个节点<low时,其右子树的各个节点值虽然都比该节点值大,但仍可能存在<low的,所以要据于次节点,向其右子树进军遍历,等回溯时,delete掉该节点,返回的right要返回到上层递归,即该节点的父节点去接收这个right作为新的孩子节点。(奇 阅读全文
posted @ 2023-02-23 22:49 冥紫将 阅读(21) 评论(0) 推荐(0)
摘要: LC235. 二叉搜索树的最近公共祖先 利用二叉搜索树的特性,中序遍历,如果当前节点的值大于q和p的值,公共祖先一定在当前节点的左子树中,同理小于q和p值时,公共祖先一定在当前节点的右子树。一旦找到介于p和q之间值的节点,则一定是最近公共祖先 TreeNode* lowestCommonAncest 阅读全文
posted @ 2023-02-22 11:56 冥紫将 阅读(19) 评论(0) 推荐(0)
摘要: LC530. 二叉搜索树的最小绝对差 这道题只要是在思考怎么不用另外写多一个函数进行递归,且不用多定义一个成员变量min_result,如下所示: int min_result = INT_MAX; TreeNode* prev = nullptr; void getMinDiffLoop(Tree 阅读全文
posted @ 2023-02-21 11:47 冥紫将 阅读(21) 评论(0) 推荐(0)
摘要: LC654. 最大二叉树 内存消耗只击败10% TreeNode* buildTree(vector<int> nums) { int max = nums[0]; int index = 0; for (int i = 1; i < nums.size(); i++) { if (nums[i] 阅读全文
posted @ 2023-02-20 23:23 冥紫将 阅读(26) 评论(0) 推荐(0)
摘要: 总结思考: 目前涉及基于二叉树的特性,进行递归的方案有如下: 左右子树不相干的递归 回溯,左右子树不相干的递归:用前序遍历,先处理"中"节点,判断是否达到终止条件进行相关处理(终止条件为 if(root == nullptr) 或者 if(root->left == nullptr && root- 阅读全文
posted @ 2023-02-19 11:29 冥紫将 阅读(43) 评论(0) 推荐(0)
摘要: LC513. 找树左下角的值 这道题用层次遍历,更容易做 int findBottomLeftValue(TreeNode* root) { int result = 0; int size = 0; queue<TreeNode*> que; TreeNode* curr = nullptr; i 阅读全文
posted @ 2023-02-19 00:47 冥紫将 阅读(19) 评论(0) 推荐(0)
摘要: LC110. 平衡二叉树 递归做法一次通过,其实也就是对比:某个节点的左子树和右子树的最大深度的绝对值不大于1,即可认为是平衡二叉树 class Solution { public: bool flag; int checkBalanced(TreeNode* root) { if (root == 阅读全文
posted @ 2023-02-17 23:39 冥紫将 阅读(17) 评论(0) 推荐(0)
摘要: 深度 二叉树任意一个节点到根节点的距离(这条路径包含的节点数) 高度 二叉树任意一个节点到叶子节点的距离 LC104. 二叉树的最大深度 递归解法 int maxdepth(treenode* root) { int leftdepth = 0, rightdepth = 0; if (root = 阅读全文
posted @ 2023-02-16 22:20 冥紫将 阅读(41) 评论(0) 推荐(0)