
探索二叉树
软件园里卖煎饼
以文载意,以理铸心
展开
-
每日一题:938. 二叉搜索树的范围和
解题思路最初的办法是dfs将所有符合要求的值加起来,这样相当于做了很多没有必要的递归所以改良后,使用到了二叉搜索树的特性,如果小于low则搜索右边,大于high则搜索左边,直接0ms代码/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode() {} * T原创 2021-04-27 12:29:01 · 78 阅读 · 0 评论 -
每日一题:897. 递增顺序搜索树
解题思路中序遍历后再建立一个新的二叉树即可代码/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode() {} * TreeNode(int val) { this.val = val; } * TreeNode(int val, TreeNode原创 2021-04-25 22:01:28 · 87 阅读 · 0 评论 -
每日任务:二叉树.199. 二叉树的右视图
解题思路bfs,然后取每次队列中的最后一个节点出来代码/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode() {} * TreeNode(int val) { this.val = val; } * TreeNode(int val, TreeN原创 2021-04-20 15:02:08 · 77 阅读 · 0 评论 -
每日任务:二叉树.508. 出现次数最多的子树元素和
解题思路不知道为什么过不了最后一个案例,很奇怪代码/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode(int x) { val = x; } * } */ 过不了最后一个案例class Solution { List<Integer> l原创 2021-04-20 15:00:08 · 114 阅读 · 0 评论 -
每日任务:二叉树.226. 翻转二叉树
解题思路简单的递归代码/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode() {} * TreeNode(int val) { this.val = val; } * TreeNode(int val, TreeNode left, TreeNo原创 2021-04-19 21:19:15 · 60 阅读 · 0 评论 -
每日任务:二叉树.404. 左叶子之和
解题思路简单的递归代码/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode() {} * TreeNode(int val) { this.val = val; } * TreeNode(int val, TreeNode left, TreeNo原创 2021-04-19 21:16:59 · 74 阅读 · 0 评论 -
每日任务:二叉树.114. 二叉树展开为链表
解题思路很简单的递归代码/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode() {} * TreeNode(int val) { this.val = val; } * TreeNode(int val, TreeNode left, TreeN原创 2021-04-19 21:16:10 · 82 阅读 · 0 评论 -
每日任务:二叉树.100. 相同的树
解题思路递归~代码/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode() {} * TreeNode(int val) { this.val = val; } * TreeNode(int val, TreeNode left, TreeNode原创 2021-04-19 19:21:44 · 74 阅读 · 0 评论 -
每日任务:二叉树.113. 路径总和 II
解题思路dfs即可,找到每个叶子节点时的sum值,如果等于target就返回,并返回对应的路径需要维护住路径road代码/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode() {} * TreeNode(int val) { this.val = val原创 2021-04-16 13:00:46 · 74 阅读 · 0 评论 -
探索二叉树 二叉树的中序遍历
1.通过递归解决:class Solution {public: vector<int> inorderTraversal(TreeNode* root) { vector<int> a; dfs(root,a); return a; } void dfs(TreeNode* root,vector...原创 2020-04-13 15:13:54 · 106 阅读 · 0 评论 -
探索二叉树 二叉树的前序遍历
前序遍历的访问顺序实际上就是 根->左->右输入: [1,null,2,3]12/3输出: [1,2,3]1.利用dfs递归来解决:class Solution {public: vector<int> preorderTraversal(TreeNode* root) { vector<int> a; ...原创 2020-04-12 22:48:42 · 106 阅读 · 0 评论