摘要: 这题考察找树的坡度,我们直接返回左节点减右节点的绝对值加左节点的坡度加右节点的坡度。 getSum是找节点和,调用左节点的和加右节点的和加上本节点的值 /** * Definition for a binary tree node. * struct TreeNode { * int val; * 阅读全文
posted @ 2020-02-07 20:09 SteveYu 阅读(122) 评论(0) 推荐(0) 编辑
摘要: c++,如果本节点为空,返回0,否则返回 这棵树孩子中(找到每个节点的最大值,返回最大值+1即可,1是本节点的深度) /* // Definition for a Node. class Node { public: int val; vector<Node*> children; Node() { 阅读全文
posted @ 2020-02-07 19:41 SteveYu 阅读(116) 评论(0) 推荐(0) 编辑
摘要: 开始耍小聪明啦,getMax是求得深度最大值。我们在diameterOfbinaryTree中不断求得左右子树的直径,相加,并且递归,即可获得最大值 /** * Definition for a binary tree node. * struct TreeNode { * int val; * T 阅读全文
posted @ 2020-02-07 19:34 SteveYu 阅读(133) 评论(0) 推荐(0) 编辑
摘要: 要进行转这棵树,仅仅需要进行先遍历右子树,遍历中树,遍历左子树,然后加中间就ok /** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; 阅读全文
posted @ 2020-02-07 19:19 SteveYu 阅读(93) 评论(0) 推荐(0) 编辑
摘要: 教科书式编程:考察BST树中序有序。所以,我们仅仅需要对其中序记住前面一个节点,然后进行比较即可。最后更新ans /** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * T 阅读全文
posted @ 2020-02-07 18:26 SteveYu 阅读(116) 评论(0) 推荐(0) 编辑
摘要: 这道题考察计算众数,我们先对每个数字进行一轮计数,放在m中,然后遍历m,将熟知一样的众数追加到m2的vector中,最后把m2的最后指针所指向的vector返回即可 /** * Definition for a binary tree node. * struct TreeNode { * int 阅读全文
posted @ 2020-02-07 06:40 SteveYu 阅读(118) 评论(0) 推荐(0) 编辑
摘要: 通过cnt进行计数,然后进行递归找。在递归的过程中,只要sum为0,则cnt加一 /** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; 阅读全文
posted @ 2020-02-07 06:26 SteveYu 阅读(118) 评论(0) 推荐(0) 编辑
摘要: 要实现得到左叶子节点的和,我们加一个bool leftLeaf,代表左叶子,递归的时候,加上这个属性,就可以求得和 /** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * 阅读全文
posted @ 2020-02-07 06:15 SteveYu 阅读(83) 评论(0) 推荐(0) 编辑
摘要: cpp代码,easy的,寻找路径,只需要传递string,然后在叶子节点进行加入vector即可。 /** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode 阅读全文
posted @ 2020-02-07 06:05 SteveYu 阅读(113) 评论(0) 推荐(0) 编辑
摘要: lca算法思路总结: 思想:二叉查找树的性质,如果是祖先,和左右子树的差值乘积为负数。 如果在左边,往左边进行递归。如果往右边,往右边递归。 /** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeN 阅读全文
posted @ 2020-02-07 05:49 SteveYu 阅读(157) 评论(0) 推荐(0) 编辑
摘要: 仅需要交换左右节点,然后进行递归翻转即可(太基础了) /** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int 阅读全文
posted @ 2020-02-07 05:26 SteveYu 阅读(101) 评论(0) 推荐(0) 编辑
摘要: 求路径和,仅需要一直减去当前节点的数字,然后看看在根结点的时候是否为0,如果不是返回false就行啦 /** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNod 阅读全文
posted @ 2020-02-07 05:19 SteveYu 阅读(88) 评论(0) 推荐(0) 编辑
摘要: 我们要想知道最小深度,我们只需要知道根结点在的层级吖。这样思考是不是很方便。把每个根结点的层级加入map,取map的第一位,就是最小深度啦 /** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNo 阅读全文
posted @ 2020-02-07 04:58 SteveYu 阅读(98) 评论(0) 推荐(0) 编辑
摘要: 判断平衡树的经典教科书办法:左右紫薯差小于等于1。 我们仅仅需要进行判断平衡,左右子树差小于等于1,继续返回左子树平衡且右子树平衡。 否则返回false /** * Definition for a binary tree node. * struct TreeNode { * int val; * 阅读全文
posted @ 2020-02-07 04:32 SteveYu 阅读(119) 评论(0) 推荐(0) 编辑
摘要: 顺序数组建树,要从中间开始建树。 /** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val( 阅读全文
posted @ 2020-02-07 03:58 SteveYu 阅读(123) 评论(0) 推荐(0) 编辑
摘要: 中序遍历,常规操作 /** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), lef 阅读全文
posted @ 2020-02-07 03:33 SteveYu 阅读(88) 评论(0) 推荐(0) 编辑
摘要: c++比Binary Tree Level Order Traversal 多了一行reverse函数 /** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNo 阅读全文
posted @ 2020-02-07 03:22 SteveYu 阅读(118) 评论(0) 推荐(0) 编辑
摘要: 二叉树的层序遍历,直接进行用二维vector进行层序,用一个queue进行,记录大小后,进行不断push进去。 /** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * Tr 阅读全文
posted @ 2020-02-07 03:12 SteveYu 阅读(105) 评论(0) 推荐(0) 编辑
摘要: 求树的最大深度,如果树为空,则返回0否则返回左最大深度和右最大深度的最大值,进行加一 /** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right 阅读全文
posted @ 2020-02-07 02:43 SteveYu 阅读(115) 评论(0) 推荐(0) 编辑
摘要: Given two binary trees, write a function to check if they are the same or not. Two binary trees are considered the same if they are structurally ident 阅读全文
posted @ 2020-02-07 02:37 SteveYu 阅读(115) 评论(0) 推荐(0) 编辑