
树
_IanXiao
这个作者很懒,什么都没留下…
展开
-
LeetCode113 Path Sum II
题目链接 https://leetcode.com/problems/path-sum-ii/题目描述给你一个树和一个sum,找出来从根结点到叶子结点所有路径中路径之和等于sum的路径。例如: Given the below binary tree and sum = 22, 5 / \ 4 8原创 2015-12-30 18:46:03 · 383 阅读 · 0 评论 -
LeetCode108 Convert Sorted Array to Binary Search Tree
题目链接: https://leetcode.com/problems/convert-sorted-array-to-binary-search-tree/题目描述:根据一个递增的序列建一个二叉查找树。题目分析:先建好一个根节点,再根据根节点递归的划分左右子树进行建树。代码:void createBST(struct TreeNode **root,int* nums,int len){原创 2016-01-05 15:30:19 · 355 阅读 · 0 评论 -
LeetCode105 Construct Binary Tree from Preorder and Inorder Traversal
题目链接: https://leetcode.com/problems/construct-binary-tree-from-preorder-and-inorder-traversal/题目描述:前序中序建树。题目分析:就是先建立好根节点,再根据这个根节点递归的不停的划分左右子树。代码:void createBinaryTree(struct TreeNode* *root, int* pr原创 2016-01-05 14:56:43 · 539 阅读 · 0 评论 -
LeetCode106 Construct Binary Tree from Inorder and Postorder Traversal
题目链接: https://leetcode.com/problems/construct-binary-tree-from-inorder-and-postorder-traversal/题目描述:中序后序建树。题目分析:就是先建立好根结点,再根据这个根结点递归的不停的划分左右子树。代码:void createBinaryTree(struct TreeNode **root,int *in原创 2016-01-05 14:50:27 · 375 阅读 · 0 评论 -
LeetCode103 Binary Tree Zigzag Level Order Traversal
题目链接: https://leetcode.com/problems/binary-tree-zigzag-level-order-traversal/题目描述:将一个树中的节点元素,按以下形式存储。For example:Given binary tree {3,9,20,#,#,15,7}, 3 / \ 9 20 / \ 15 7return原创 2016-01-05 16:09:41 · 397 阅读 · 0 评论 -
LeetCode98 Validate Binary Search Tree
题目链接: https://leetcode.com/problems/validate-binary-search-tree/题目描述:给一个二叉树,判断是不是二叉查找树。题目分析:中序遍历树,存储序列,判断该序列是否为递增序列。代码:class Solution {public: queue<int> q; void inorderTraversal(TreeNode*原创 2016-01-06 09:51:28 · 548 阅读 · 0 评论 -
PAT1079 Total Sales of Supply Chain (25)
题目链接: http://www.nowcoder.com/pat/5/problem/4309题目描述:题目要求根据某商品的供应链条,求零售商的销售额之和,零售商的售价不同在于每一级都有涨幅,对不同层的零售商按照所在层求销售额,然后全部加和。 只有叶子结点才是零售商。题目分析:记录树的层数的BFS的变形。代码:#include<iostream>#include<string.h>#i原创 2016-01-28 20:53:32 · 724 阅读 · 0 评论 -
LeetCode236 Lowest Common Ancestor of a Binary Tree
题目链接: https://leetcode.com/problems/lowest-common-ancestor-of-a-binary-tree/题目描述:给一棵树,找两结点的最近公共祖先。3 / \ 5 1 / \ / \ 6 2 0 8 / \ 7 4LCA of nodes 5 and 1 is 3LCA of nodes 5 and 4 is 5题目分析:原创 2016-01-01 12:08:23 · 333 阅读 · 0 评论 -
3.8求二叉树中节点的最大距离
题目:写一个程序求一棵二叉树中相距最远的两个节点之间的距离。粗箭头的边表示最长距离。分析:相距最远的两个节点,一定是两个叶子节点,或者是一个叶子节点到它的根节点(单枝树)。我们来考虑相距最远的两个节点是两个叶子节点的情况。对于任意一个节点,以该节点为根,假设这个根有k个孩子节点,那么相距最远的两个节点U和V之间的路径与这个根节点的关系有两种情况。1.若路径经过根节点,那么节点U和V属于两个不同的子树原创 2016-05-31 12:26:08 · 612 阅读 · 0 评论 -
LeetCode222 Count Complete Tree Nodes
题目链接: https://leetcode.com/problems/count-complete-tree-nodes/题目描述:求一个完全二叉树的节点个数。题目分析:需要注意的是遍历的方式求解节点个数会超时,时间复杂度为O(n)。利用完全二叉树与满二叉树节点个数的特性。满二叉树的节点个数为2^h-1,h为树高。先判断该完全二叉树是不是满二叉树,如果是直接返回结果,如果不是再递归求解。如果原创 2016-01-04 20:36:16 · 509 阅读 · 0 评论 -
LeetCode129 Sum Root to Leaf Numbers
题目链接: https://leetcode.com/problems/sum-root-to-leaf-numbers/题目描述:把从根节点到叶子结点组成的数加起来求和。For example, 1 / \ 2 3The root-to-leaf path 1->2 represents the number 12.The root-to-leaf path 1->3原创 2016-01-03 16:57:16 · 337 阅读 · 0 评论 -
LeetCode116 Populating Next Right Pointers in Each Node
题目链接: https://leetcode.com/problems/populating-next-right-pointers-in-each-node/题目描述:给一个满二叉树。树的结构。struct TreeLinkNode { TreeLinkNode *left; TreeLinkNode *right; TreeLinkNode *next;原创 2016-01-03 16:24:16 · 345 阅读 · 0 评论 -
PAT1099 Build A Binary Search Tree
题目链接 http://www.nowcoder.com/pat/5/problem/4323题目描述:n个节点,按顺序给出每个节点节点的左右孩子的下标,构造出一个数,再给一些整型数据,将这些数据放入对应的树的节点位置,使得构造出一个BST,然后层序输出这颗二叉树上所有节点的key值。题目分析:水题,一开始把题理解错了,以为是先构造玩左边的树,再构造右子树……结果就是按顺序来的。中序遍历的变形原创 2016-01-18 13:48:58 · 776 阅读 · 0 评论 -
LeetCode96 Unique Binary Search Trees
题目链接: https://leetcode.com/problems/unique-binary-search-trees/题目描述:给一个数字n,那么有n个结点的二叉查找树共有多少棵。结点val对应从1到n。例如:n=3 1 3 3 2 1 \ / / / \ \ 3 2原创 2016-01-01 15:15:29 · 324 阅读 · 0 评论 -
LeetCode95 Unique Binary Search Trees II
题目链接: https://leetcode.com/problems/unique-binary-search-trees-ii/题目描述:找出结点个数为n的所有二叉查找树。结点的val与1~n一一对应。上次那道题是找出多少个就行了,T-T这次这个是要把找出来的树全部展示出来。题目分析:卡了好久,确实不会做,最后看了别人的代码。 http://www.2cto.com/kf/201305原创 2016-01-01 17:44:10 · 486 阅读 · 0 评论 -
LeetCode173 Binary Search Tree Iterator
题目链接: https://leetcode.com/problems/binary-search-tree-iterator/题目描述:天啦撸QAQ,整了半天都没懂起题目是几个意思。最后的最后,才明白大概是按中序遍历把节点非递归输出。题目分析:中序遍历的非递归的变形。大概方向就是用栈,将最左边的节点压入栈中。next() 就是弹出栈顶元素。 需要注意的是,被弹出的元素如果有右节点时,将右节原创 2016-01-01 19:22:33 · 392 阅读 · 0 评论 -
LeetCode230 Kth Smallest Element in a BST
题目链接: https://leetcode.com/problems/kth-smallest-element-in-a-bst/题目描述:找出二叉查找树中第k小的节点的val。题目分析:还是非递归中序遍历的变形。代码:class Solution {public: int kthSmallest(TreeNode* root, int k) { stack<Tree原创 2016-01-02 12:44:07 · 393 阅读 · 0 评论 -
LeetCode114 Flatten Binary Tree to Linked List
题目链接: https://leetcode.com/problems/flatten-binary-tree-to-linked-list/题目描述:把一个二叉树变成单链表的形式,即退化为单枝树。把 1 / \ 2 5 / \ \ 3 4 6变为 1 \原创 2016-01-02 14:29:06 · 442 阅读 · 0 评论 -
LeetCode199 Binary Tree Right Side View
题目链接: https://leetcode.com/problems/binary-tree-right-side-view/题目描述:站在一个二叉树右边看,记录从上到下看到的数。 1 <--- / \2 3 <--- \ \ 5 4 <---return [1, 3, 4]题目分析:找出每一层最右边原创 2016-01-02 16:02:24 · 348 阅读 · 0 评论 -
LeetCode22. Generate Parentheses
题目链接: https://leetcode.com/problems/generate-parentheses/题目描述:给n对括号,求所有的合法括号组合。For example, given n = 3, a solution set is:“((()))”, “(()())”, “(())()”, “()(())”, “()()()”题目分析: http://blog.csdn.ne原创 2016-01-20 10:10:58 · 627 阅读 · 0 评论 -
3.10 分层遍历二叉树
题目:给定一棵二叉树,要求按分层遍历该二叉树,即从上到下按层次访问该二叉树(每一层将单独输出一行),每一层要求访问的顺序为从左到右,并将节点依次编号。下面是一个例子:输出:1 2 3 4 5 6 7 8代码:结构体的定义:struct TreeNode{ int val; TreeNode* left; TreeNode* right; TreeNode(int原创 2016-06-02 20:00:40 · 480 阅读 · 0 评论