摘要: 二叉树——144. 二叉树的前序遍历 题目: 思路: 前序遍历用递归,递归逻辑就是前序遍历的顺序:中左右,然后就行了。 代码: class Solution { public: void traversal(TreeNode* node, vector<int>& vec){ // 终止条件 if( 阅读全文
posted @ 2021-04-10 16:32 Originhhh 阅读(61) 评论(0) 推荐(0)
摘要: 二叉树——110. 平衡二叉树 题目: 思路: 这题采用DFS,自底向上查看,如果底下的树不平衡则会返回-1,因此我们也不用在继续递归。 注意我们是先从左边开始,如果左边都不平衡那么就直接return -1了,也就不在递归右边了。 题解作者:Xiaohu9527 链接:https://leetcod 阅读全文
posted @ 2021-04-10 13:20 Originhhh 阅读(59) 评论(0) 推荐(0)
摘要: 二叉树——104. 二叉树的最大深度 题目: 思路: 还是老样子,就是看你用BFS还是DFS。 DFS:递归层数较大时有风险。就是递归,然后看左子树和右子树的maxdepth然后别忘了加1。 BFS:和右视图差不多,还是借助队列存放一层元素,还要设置个变量depth记录层数。这里我们选择BFS 代码 阅读全文
posted @ 2021-04-10 12:37 Originhhh 阅读(67) 评论(0) 推荐(0)
摘要: 二叉树——199. 二叉树的右视图 题目: 思路: 层序遍历(BFS),记录下每层最后一个结点。 代码: class Solution { public: vector<int> rightSideView(TreeNode* root) { queue<TreeNode*> que; if(roo 阅读全文
posted @ 2021-04-10 11:55 Originhhh 阅读(59) 评论(0) 推荐(0)