二叉树
二叉树
Alph Ben
这个作者很懒,什么都没留下…
展开
-
1022. 从根到叶的二进制数之和 回溯(以及二进制处理的俩种方式,正常转化二进制+位运算直接处理)
这道题处理二进制转换的方式有点意思,记录一下 void preOrder(TreeNode* root, vector<int>& v,int& sum) { //回溯 if(root==nullptr) return; v.push_back(root->val); preOrder(root->left,v,sum); preOrder(root->right,v,s原创 2020-09-18 09:43:43 · 209 阅读 · 0 评论 -
199. 二叉树的右视图 广度(100%)深度(38%)
给定一棵二叉树,想象自己站在它的右侧,按照从顶部到底部的顺序,返回从右侧所能看到的节点值。 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/binary-tree-right-side-view 著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。 写这道题的初衷是因为深度搜索的思路。 广度搜索(正常思路) 不多解释了,很简单。 class Solution { public: vector<int> right原创 2020-08-12 17:44:52 · 106 阅读 · 0 评论 -
114. 二叉树展开为链表 4ms(95%) 三种方法(俩种原地)
题目 给定一个二叉树,原地将它展开为一个单链表。 例如,给定二叉树 1 / 2 5 / \ 3 4 6 将其展开为: 1 \ 2 \ 3 \ 4 \ 5 \ 6 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/flatten-binary-tree-to-linked-list 著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。 解法1:投机取巧,没有满足原地的条件 思想:前序遍历放入队列中,然后依次进行指针处理原创 2020-08-05 23:40:22 · 247 阅读 · 1 评论 -
236. 二叉树的最近公共祖先 28ms(46%) 四种方法
题目 给定一个二叉树, 找到该树中两个指定节点的最近公共祖先。 百度百科中最近公共祖先的定义为:“对于有根树 T 的两个结点 p、q,最近公共祖先表示为一个结点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大(一个节点也可以是它自己的祖先)。” 例如,给定如下二叉树: root = [3,5,1,6,2,0,8,null,null,7,4] 说明: 所有节点的值都是唯一的。 p、q 为不同节点且均存在于给定的二叉树中。 来源:力扣(LeetCode) 链接:https://leetcode-cn.原创 2020-08-05 12:31:14 · 118 阅读 · 0 评论