二叉树
crazy__chen
只要有一个人爱我,懂我,愿意等我,我便勇往直前,无所不能。
展开
-
剑指offer--二叉树的深度
题目描述输入一棵二叉树,求该树的深度。从根结点到叶结点依次经过的结点(含根、叶结点)形成树的一条路径,最长路径的长度为树的深度。/*public class TreeNode { int val = 0; TreeNode left = null; TreeNode right = null; public TreeNode(int val) {原创 2015-04-12 19:31:03 · 850 阅读 · 0 评论 -
leetcode--Binary Tree Postorder Traversal
Given a binary tree, return the postorder traversal of its nodes' values.For example:Given binary tree {1,#,2,3}, 1 \ 2 / 3return [3,2,1].分类:二叉树题意:后续遍历二叉树解原创 2015-06-30 16:00:42 · 869 阅读 · 0 评论 -
leetcode--Binary Tree Zigzag Level Order Traversal
Given a binary tree, return the zigzag level order traversal of its nodes' values. (ie, from left to right, then right to left for the next level and alternate between).For example:Given binary tr原创 2015-06-13 20:59:08 · 571 阅读 · 0 评论 -
leetcode--Convert Sorted Array to Binary Search Tree
Given an array where elements are sorted in ascending order, convert it to a height balanced BST./** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode le原创 2015-06-13 20:36:54 · 551 阅读 · 0 评论 -
leetcode--Balanced Binary Tree
Given a binary tree, determine if it is height-balanced.For this problem, a height-balanced binary tree is defined as a binary tree in which the depth of the two subtrees ofevery node never differ原创 2015-06-05 16:34:10 · 611 阅读 · 0 评论 -
leetcode--Binary Search Tree Iterator
Implement an iterator over a binary search tree (BST). Your iterator will be initialized with the root node of a BST.Calling next() will return the next smallest number in the BST.Note: next() and原创 2015-06-20 15:02:08 · 979 阅读 · 0 评论 -
leetcode--Binary Tree Level Order Traversal
/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode(int x) { val = x; } * } */public class Solution {原创 2015-06-05 16:21:02 · 519 阅读 · 0 评论 -
leetcode--Binary Tree Maximum Path Sum
Given a binary tree, find the maximum path sum.The path may start and end at any node in the tree.For example:Given the below binary tree, 1 / \ 2 3Return 6.分类:二叉树原创 2015-07-11 00:16:28 · 995 阅读 · 0 评论 -
leetcode--Binary Tree Preorder Traversal
Given a binary tree, return the preorder traversal of its nodes' values.For example:Given binary tree {1,#,2,3}, 1 \ 2 / 3return [1,2,3]./** * Definition for a binary tre原创 2015-06-19 18:15:44 · 786 阅读 · 0 评论 -
leetcode--Construct Binary Tree from Inorder and Postorder Traversal
Given inorder and postorder traversal of a tree, construct the binary tree.Note:You may assume that duplicates do not exist in the tree./** * Definition for a binary tree node. * public class Tr原创 2015-06-13 21:10:58 · 1000 阅读 · 0 评论 -
leetcode--Binary Tree Upside Down
Given a binary tree where all the right nodes are either leaf nodes with a sibling (a left node that shares the same parent node) or empty, flip it upside down and turn it into a tree where the origin原创 2015-08-02 16:17:48 · 1267 阅读 · 0 评论 -
leetcode--Contains Duplicate III
Given an array of integers, find out whether there are two distinct indices i and j in the array such that the difference between nums[i] and nums[j] is at most t and the difference between i and j原创 2015-08-04 17:52:32 · 1437 阅读 · 0 评论 -
剑指offer--二叉搜索树与双向链表
题目描述输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的双向链表。要求不能创建任何新的结点,只能调整树中结点指针的指向。 /*public class TreeNode { int val = 0; TreeNode left = null; TreeNode right = null; public TreeNode(int val) {原创 2015-04-19 21:42:32 · 1609 阅读 · 0 评论 -
剑指offer--二叉树的镜像
题目描述输入一个二叉树,输出其镜像。/*public class TreeNode { int val = 0; TreeNode left = null; TreeNode right = null; public TreeNode(int val) { this.val = val; }}*/public class原创 2015-04-11 13:56:00 · 751 阅读 · 0 评论 -
剑指offer--从上往下打印二叉树
题目描述从上往下打印出二叉树的每个节点,同层节点从左至右打印。 /*public class TreeNode { int val = 0; TreeNode left = null; TreeNode right = null; public TreeNode(int val) { this.val = val; }}*/i原创 2015-04-11 20:21:40 · 736 阅读 · 0 评论 -
剑指offer--二叉树中和为某一值的路径
题目描述输入一颗二叉树和一个整数,打印出二叉树中结点值的和为输入整数的所有路径。路径定义为从树的根结点开始往下一直到叶结点所经过的结点形成一条路径。/*public class TreeNode { int val = 0; TreeNode left = null; TreeNode right = null; public TreeNode(原创 2015-04-11 21:32:30 · 938 阅读 · 0 评论 -
剑指offer--二叉搜索树的后序遍历序列
题目描述输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果。如果是则输出Yes,否则输出No。假设输入的数组的任意两个数字都互不相同。分类:数组,二叉树解法1:对于搜索二叉树而已,后续遍历的最后一个节点,就是根节点,并且根节点将树分成两部分一部分小于根节点,一部分大于根节点,也就是左右子树于是遍历数组,找到小于根节点的最后一个数所在index原创 2015-09-20 14:38:04 · 1704 阅读 · 1 评论 -
剑指offer--平衡二叉树
题目描述输入一棵二叉树,判断该二叉树是否是平衡二叉树。/*public class TreeNode { int val = 0; TreeNode left = null; TreeNode right = null; public TreeNode(int val) { this.val = val; }原创 2015-04-12 19:51:52 · 1170 阅读 · 3 评论 -
剑指offer--树的子结构
题目描述输入两颗二叉树A,B,判断B是不是A的子结构。 /*public class TreeNode { int val = 0; TreeNode left = null; TreeNode right = null; public TreeNode(int val) { this.val = val; }}*/pu原创 2015-04-11 13:50:59 · 952 阅读 · 0 评论 -
剑指offer--重建二叉树
输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并输出它的后序遍历序列。/** * Definition for binary tree * public class TreeNode { * int va原创 2015-04-10 22:57:31 · 2889 阅读 · 0 评论 -
leetcode--Binary Tree Right Side View
Given a binary tree, imagine yourself standing on the right side of it, return the values of the nodes you can see ordered from top to bottom.For example:Given the following binary tree, 1原创 2015-06-20 16:41:08 · 912 阅读 · 0 评论 -
leetcode--Validate Binary Search Tree
Given a binary tree, determine if it is a valid binary search tree (BST).Assume a BST is defined as follows:The left subtree of a node contains only nodes with keys less than the node's key.The原创 2015-06-11 18:41:50 · 506 阅读 · 0 评论 -
leetcode--Binary Tree Inorder Traversal
Given a binary tree, return the inorder traversal of its nodes' values.For example:Given binary tree {1,#,2,3}, 1 \ 2 / 3return [1,3,2].Note: Recursive solution is trivi原创 2015-06-10 18:42:03 · 567 阅读 · 0 评论 -
leetcode--Lowest Common Ancestor of a Binary Tree
Given a binary tree, find the lowest common ancestor (LCA) of two given nodes in the tree.According to the definition of LCA on Wikipedia: “The lowest common ancestor is defined between two nodes原创 2015-08-01 14:32:36 · 1363 阅读 · 0 评论 -
leetcode--Same Tree
Given two binary trees, write a function to check if they are equal or not.Two binary trees are considered equal if they are structurally identical and the nodes have the same value./** * Definit原创 2015-06-05 15:26:59 · 582 阅读 · 0 评论 -
leetcode--Path Sum
Given a binary tree and a sum, determine if the tree has a root-to-leaf path such that adding up all the values along the path equals the given sum.For example:Given the below binary tree and sum原创 2015-06-05 16:49:02 · 576 阅读 · 0 评论 -
leetcode--Flatten Binary Tree to Linked List
Given a binary tree, flatten it to a linked list in-place.For example,Given 1 / \ 2 5 / \ \ 3 4 6The flattened tree should look like: 1 \原创 2015-06-14 20:22:05 · 889 阅读 · 0 评论 -
leetcode--Unique Binary Search Trees
Given n, how many structurally unique BST's (binary search trees) that store values 1...n?For example,Given n = 3, there are a total of 5 unique BST's. 1 3 3 2 1 \原创 2015-06-11 11:38:41 · 564 阅读 · 0 评论 -
leetcode--Recover Binary Search Tree
Two elements of a binary search tree (BST) are swapped by mistake.Recover the tree without changing its structure.Note:A solution using O(n) space is pretty straight forward. Could you devise a原创 2015-08-01 10:46:31 · 1088 阅读 · 0 评论 -
leetcode--Sum Root to Leaf Numbers
Given a binary tree containing digits from 0-9 only, each root-to-leaf path could represent a number.An example is the root-to-leaf path 1->2->3 which represents the number123.Find the total sum原创 2015-06-16 21:14:09 · 891 阅读 · 0 评论 -
leetcode--Unique Binary Search Trees II
Given n, generate all structurally unique BST's (binary search trees) that store values 1...n.For example,Given n = 3, your program should return all 5 unique BST's shown below. 1 3原创 2015-06-11 10:47:02 · 562 阅读 · 0 评论 -
leetcode--Populating Next Right Pointers in Each Node
Given a binary tree struct TreeLinkNode { TreeLinkNode *left; TreeLinkNode *right; TreeLinkNode *next; }Populate each next pointer to point to its next right node. If the原创 2015-06-14 20:51:34 · 836 阅读 · 0 评论 -
leetcode--Invert Binary Tree
Invert a binary tree. 4 / \ 2 7 / \ / \1 3 6 9to 4 / \ 7 2 / \ / \9 6 3 1/** * Definition for a binary tree node. * public class TreeNode { *原创 2015-06-13 20:45:01 · 612 阅读 · 0 评论 -
leetcode--Count Complete Tree Nodes
Given a complete binary tree, count the number of nodes.Definition of a complete binary tree from Wikipedia:In a complete binary tree every level, except possibly the last, is completely filled,原创 2015-08-01 20:21:24 · 950 阅读 · 0 评论 -
leetcode--Binary Tree Level Order Traversal II
Given a binary tree, return the bottom-up level order traversal of its nodes' values. (ie, from left to right, level by level from leaf to root).For example:Given binary tree {3,9,20,#,#,15,7},原创 2015-06-05 16:27:51 · 510 阅读 · 0 评论 -
leetcode--Construct Binary Tree from Preorder and Inorder Traversal
Given preorder and inorder traversal of a tree, construct the binary tree.Note:You may assume that duplicates do not exist in the tree./** * Definition for a binary tree node. * public class Tre原创 2015-06-13 20:36:14 · 662 阅读 · 0 评论 -
leetcode--Maximum Depth of Binary Tree
Given a binary tree, find its maximum depth.The maximum depth is the number of nodes along the longest path from the root node down to the farthest leaf node.题意:给定二叉树,查找最长路径分类:二叉树解法1:递原创 2015-08-01 22:32:54 · 994 阅读 · 0 评论 -
leetcode--Minimum Depth of Binary Tree
Given a binary tree, find its minimum depth.The minimum depth is the number of nodes along the shortest path from the root node down to the nearest leaf node./** * Definition for a binary tree no原创 2015-06-05 16:41:00 · 563 阅读 · 0 评论 -
leetcode--Lowest Common Ancestor of a Binary Search Tree
Given a binary search tree (BST), find the lowest common ancestor (LCA) of two given nodes in the BST.According to the definition of LCA on Wikipedia: “The lowest common ancestor is defined betwee原创 2015-08-01 11:42:09 · 1162 阅读 · 0 评论 -
leetcode--Populating Next Right Pointers in Each Node II
Follow up for problem "Populating Next Right Pointers in Each Node".What if the given tree could be any binary tree? Would your previous solution still work?Note:You may only use constant extr原创 2015-06-23 00:18:38 · 890 阅读 · 0 评论