摘要:
题目: 解法: 中序遍历得到一个升序序列,将遍历的结果存在一个数组val中,然后用另一个数组diff存数组val中前后元素的差值,输出其中的最小值。 代码略微繁琐,欢迎提出优化建议。 1 /** 2 * Definition for a binary tree node. 3 * struct Tr 阅读全文
posted @ 2020-05-03 13:15
梦醒潇湘
阅读(155)
评论(0)
推荐(0)
摘要:
题目: 解法: 层次遍历就好,然后找出每层的最大的值,进行保存。 1 /** 2 * Definition for a binary tree node. 3 * struct TreeNode { 4 * int val; 5 * TreeNode *left; 6 * TreeNode *rig 阅读全文
posted @ 2020-05-03 13:06
梦醒潇湘
阅读(148)
评论(0)
推荐(0)
摘要:
题目: 解法: 解题思路中序遍历,使用一个全局遍量记录最大深度,当到达的深度大于目前的最大深度时,为第一次到达该最大深度,更新结果,不超过该深度时,均不会更新。 复杂度时间复杂度:每个结点访问一次,O(n)O(n)空间复杂度:不计算调栈,O(1)O(1);计算调栈O(h)O(h),h为最大深度 1 阅读全文
posted @ 2020-05-03 12:59
梦醒潇湘
阅读(147)
评论(0)
推荐(0)
摘要:
题目: 解决: dfs遍历整个树 然后通过一个map记录对应的值,当遍历完成之后 遍历一遍max即可。 1 /** 2 * Definition for a binary tree node. 3 * struct TreeNode { 4 * int val; 5 * TreeNode *left 阅读全文
posted @ 2020-05-03 12:55
梦醒潇湘
阅读(163)
评论(0)
推荐(0)
摘要:
题目: 解决: 通过大佬题解 了解二叉搜索树的一个重要特性是中序遍历递增,那么根据这个特性可以很容易的得到一个递增的数组,然后对该数组进行判断即可得出结果。 1 /** 2 * Definition for a binary tree node. 3 * struct TreeNode { 4 * 阅读全文
posted @ 2020-05-03 12:39
梦醒潇湘
阅读(178)
评论(0)
推荐(0)
摘要:
题目: 解法: 二叉搜索树的三个特性: 这些性质最好在面试之前了解清楚: 二叉搜索树的中序遍历的序列是递增排序的序列。中序遍历的遍历次序:left->Node->right。 Successor代表的是中序遍历序列的下一个节点。即比当前节点大的最小节点,简称后继节点。先取当前节点的右节点,然后一直取 阅读全文
posted @ 2020-05-03 12:34
梦醒潇湘
阅读(171)
评论(0)
推荐(0)
摘要:
题目: 解法: 第一种做法:最容易想到的方法,双递归,先序遍历的变式,把每个遍历到的节点当作root(起点)进行搜索。 1 /** 2 * Definition for a binary tree node. 3 * struct TreeNode { 4 * int val; 5 * TreeNo 阅读全文
posted @ 2020-05-03 12:19
梦醒潇湘
阅读(155)
评论(0)
推荐(0)
摘要:
题目: 解法: 广度优先遍历就好。 1 /* 2 // Definition for a Node. 3 class Node { 4 public: 5 int val; 6 vector<Node*> children; 7 8 Node() {} 9 10 Node(int _val) { 1 阅读全文
posted @ 2020-05-03 12:01
梦醒潇湘
阅读(155)
评论(0)
推荐(0)
摘要:
题目: 解法: 难点主要是在判断是否是左叶子。 1 /** 2 * Definition for a binary tree node. 3 * struct TreeNode { 4 * int val; 5 * TreeNode *left; 6 * TreeNode *right; 7 * T 阅读全文
posted @ 2020-05-03 11:44
梦醒潇湘
阅读(95)
评论(0)
推荐(0)