- 博客(16)
- 收藏
- 关注
转载 LeetCode 623. Add One Row to Tree
给定一个数字v和k,在树的第k层插入一层v采用递归的办法,根节点因为没有根节点,要特殊处理一下class Solution {public: TreeNode* helper(TreeNode* node, int v, int d, bool bLeft) { if(d==1){ TreeNode* head=...
2019-08-20 07:44:00 59
转载 LeetCode 337. House Robber III 动态演示
每个节点是个房间,数值代表钱。小偷偷里面的钱,不能偷连续的房间,至少要隔一个。问最多能偷多少钱TreeNode* curmp[{cur, true}]表示以cur为根的树,最多能偷的钱mp[{cur, false}]表示以cur为根的树,不偷cur节点的钱,最多能偷的钱可以看出有下面的关系mp[{node, false}] = mp[{node->left,tr...
2019-08-15 10:42:00 65
转载 LeetCode 230. Kth Smallest Element in a BST 动态演示
返回排序二叉树第K小的数还是用先序遍历,记录index和K进行比较class Solution {public: void helper(TreeNode* node, int& idx, int k, int& res){ if(res!=INT_MAX) return; ...
2019-08-13 06:31:00 67
转载 LeetCode 144. Binary Tree Preorder Traversal 动态演示
先序遍历的非递归办法,还是要用到一个stackclass Solution {public: vector<int> preorderTraversal(TreeNode* root) { vector<int> ret; if(!root) return ret; ...
2019-08-11 23:50:00 74
转载 LeetCode 129. Sum Root to Leaf Numbers 动态演示
树的数值为[0, 9], 每一条从根到叶子的路径都构成一个整数,(根的数字为首位),求所有构成的所有整数的和深度优先搜索,通过一个参数累加整数class Solution {public: void helper(TreeNode* node, int path, int& sum){ if(!node){ ...
2019-08-11 08:53:00 71
转载 LeetCode 114. Flatten Binary Tree to Linked List 动态演示
把二叉树先序遍历,变成一个链表,链表的next指针用right代替用递归的办法先序遍历,递归函数要返回子树变成链表之后的最后一个元素class Solution {public: void helper(TreeNode* cur, TreeNode*& tail){ //a(tail) /...
2019-08-10 04:11:00 49
转载 LeetCode 113. Path Sum II 动态演示
给第一个目标值,返回一棵树从根到叶子所有和等于目标值的路径。经典的深度优先算法/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(in...
2019-08-09 07:33:00 82
转载 LeetCode 112. Path Sum 动态演示
给一个目标值,判断一棵树从根到叶子是否至少有一条路径加起来的和等于目标值比较典型的深度优先算法。引入一个全局变量bResult, 一旦找到一条,就不再搜索其他的了。class Solution {public: void helper(TreeNode* cur, int sum, int target, bool& bResult){ ...
2019-08-09 07:12:00 66
转载 LeetCode 105. Construct Binary Tree from Preorder and Inorder Traversal
用前序遍历输出A和中序遍历输出B重建二叉树关键点现有 A[start1, end1]B[start2, end2]end2-start2==end1-start1A的第一个肯定是根节点,B找出根节点的index, B[start2, index-1]为左子树,B[index+1, end2]为右子树A则是A[start1+1, start1+index-start2...
2019-08-08 08:16:00 47
转载 LeetCode 104. Maximum Depth of Binary Tree
用递归的办法思路1,从下往上累加 int maxDepth(TreeNode* root) { if(!root) return 0; return max(maxDepth(root->left), maxDepth(root->right))+1; }思路2,从上往下累加...
2019-08-08 07:35:00 44
转载 LeetCode 102. Binary Tree Level Order Traversal 动态演示
按层遍历树,要用到queueclass Solution {public: vector<vector<int>> levelOrder(TreeNode* root) { vector<vector<int>> ret; //ahd(root) //a(re...
2019-08-07 08:15:00 58
转载 LeetCode 98. Validate Binary Search Tree
最容易想到的思路就是中序遍历,然后看是不是递增数列。也可以像下面这样,用最大最小值区间来判断class Solution {public: bool helper(TreeNode* node, long mn, long mx){ if(!node) return true; i...
2019-08-07 07:57:00 49
转载 LeetCode 95. Unique Binary Search Trees II 动态演示
比如输入为n, 这道题目就是让返回由1,2,... n的组成的所有二叉排序树,每个树都必须包含这n个数这是二叉树的排列组合的题目。排列组合经常用DFS来解决。这道题比如输入为3,也就是求start=1, end=3的所有树,简写为t[1,3]。那么就要考虑这些情况://t[a,b]={NULL} if a>broot为1,left为t[1,0], right为t[2...
2019-08-06 06:31:00 83
转载 LeetCode 94. Binary Tree Inorder Traversal 动态演示
非递归的中序遍历,要用到一个stackclass Solution {public: vector<int> inorderTraversal(TreeNode* root) { vector<int> ret; if(!root) return ret; ...
2019-08-06 02:30:00 56
原创 小学生作文
今天,有网友在微博上颁发了一篇小弟子作文,作文标题是《文章出轨》,作文中呈现“小三”、“找荤吃”等敏感词汇,有网友从容无言地问:“这孩子懂这些词的意思吗?”记者得悉,该篇作文的作者是邳州某小学的一名五年级弟子。微博中默示的作文如下:“大师一定都看过《小爸爸》吧,可是最近网上都写着文章(小爸爸)出轨了,就是在外边养小的(小三)。就在前几天我还瞥见一条音讯上写着‘文章承认出轨’并且马伊利(
2014-04-25 14:24:23 201
原创 小学生作文
今天,有网友在微博上颁发了一篇小弟子作文,作文标题是《文章出轨》,作文中呈现“小三”、“找荤吃”等敏感词汇,有网友从容无言地问:“这孩子懂这些词的意思吗?”记者得悉,该篇作文的作者是邳州某小学的一名五年级弟子。微博中默示的作文如下:“大师一定都看过《小爸爸》吧,可是最近网上都写着文章(小爸爸)出轨了,就是在外边养小的(小三)。就在前几天我还瞥见一条音讯上写着‘文章承认出轨’并且马伊利(
2014-04-25 14:23:47 260
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人