
Leetcode-tree
peanwang
这个作者很懒,什么都没留下…
展开
-
LeetCode 530. Minimum Absolute Difference in BST
530.Minimum Absolute Difference in BST 解析该面壁的代码。晚上二刷。 https://leetcode.com/problems/minimum-absolute-difference-in-bst/description/class Solution {public: int q(int x){ return...原创 2018-08-07 14:40:21 · 121 阅读 · 0 评论 -
LeetCode 257. Binary Tree Paths
257. Binary Tree Paths/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(...原创 2018-11-24 15:05:18 · 132 阅读 · 0 评论 -
LeetCode 226. Invert Binary Tree
226. Invert Binary Tree其实就是个前序遍历class Solution {public: TreeNode* invertTree(TreeNode* root) { if(root==NULL) return NULL; TreeNode* temp = root->left; ...原创 2018-09-14 21:22:09 · 104 阅读 · 0 评论 -
LeetCode637. Average of Levels in Binary Tree
Average of Levels in Binary Tree 一道非常好的题原创 2018-09-14 21:12:28 · 123 阅读 · 0 评论 -
LeetCode 589. N-ary Tree Preorder Traversal
589. N-ary Tree Preorder Traversal基操。但是迭代的怎么写呢?class Solution {public: vector<int> preorder(Node* root) { vector<int> path; _preorder(root,path); return ...原创 2018-09-10 10:57:00 · 157 阅读 · 0 评论 -
LeetCode 590. N-ary Tree Postorder Traversal
590. N-ary Tree Postorder Traversal基操。 但是用迭代写我还真不会。class Solution {public: vector<int> postorder(Node* root) { vector<int> data; _postorder(root,data); re...原创 2018-09-06 22:27:55 · 121 阅读 · 0 评论 -
LeetCode 104. Maximum Depth of Binary Tree
104. Maximum Depth of Binary Tree基操class Solution {public: int maxDepth(TreeNode* root) { if(root==nullptr) return 0; int left=maxDepth(root->left); int...原创 2018-09-06 20:59:02 · 157 阅读 · 0 评论 -
LeetCode 112. Path Sum
112. Path Sum每记过一个节点,就把sum减去该节点的值。如果到了树叶leaf,如果sum此时为0,则代表这条路径的和是sum。 这里的路径是从root->leaf。所以要特定判断该节点是不是leaf。 class Solution {public: bool hasPathSum(TreeNode* root, int sum) { if(r...原创 2018-08-21 10:36:24 · 138 阅读 · 0 评论 -
LeetCode 100. Same Tree
100. Same Tree递归: 基准情况:(p==null && q=null)和(p==null 或q=null)不断推进 return p->val==q->val && isSameTree(p->left,q->left) && ...原创 2018-08-21 09:10:43 · 91 阅读 · 0 评论 -
LeetCode 669. Trim a Binary Search Tree
669. Trim a Binary Search Treeclass Solution {public: TreeNode* trimBST(TreeNode* root, int L, int R) { if(root == NULL) return NULL; if(root->val >R) return t...原创 2018-08-27 16:42:06 · 113 阅读 · 0 评论 -
LeetCode 559. Maximum Depth of N-ary Tree
559. Maximum Depth of N-ary Tree 其实两份代码思路差不多的,都是DFS。但是第二份代码更棒(第一份我写的,第二份我看discuss的)。 用递归的角度:当有一个树的时候,maxDepth(x)求出这棵树的各个儿子的深度。再返回各个儿子的深度的最大值,加上父亲的一层,就是这颗树的深度. for(auto x:root->childr...原创 2018-08-19 16:26:54 · 204 阅读 · 0 评论 -
LeetCode 700. Search in a Binary Search Tree
700. Search in a Binary Search TreeBST的基操。不知道怎么进LeetCode的class Solution {public: TreeNode* searchBST(TreeNode* root, int val) { if(root == NULL) return NULL; if(ro...原创 2018-08-19 14:55:22 · 177 阅读 · 0 评论 -
LeetCode 872. Leaf-Similar Trees
解析先序遍历,遇到叶子节点就push进vectorclass Solution {public: bool leafSimilar(TreeNode* root1, TreeNode* root2) { vector<int> leaf1,leaf2; travel(root1,leaf1); travel(root...原创 2018-08-19 10:33:28 · 188 阅读 · 0 评论 -
LeetCode 617. Merge Two Binary Trees
解析这题我没有追求什么速度,因为我发现同样一份代码,跑出来的速度差怎么多,可能是测试数据不同导致的。 class Solution {public: TreeNode* mergeTrees(TreeNode* t1, TreeNode* t2) { if(t1 == NULL) return t2; else if(t2...原创 2018-08-18 21:27:05 · 99 阅读 · 0 评论 -
LeetCode 144. Binary Tree Preorder Traversal
144. Binary Tree Preorder Traversal/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(...原创 2018-11-24 16:13:49 · 140 阅读 · 0 评论