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 = 22 , 5 / \ 4 8 / / \ 11 13 4 / \ \ 7 2 1 return true, …

2015年1月28日 0条评论 3点热度 阅读全文

Given preorder and inorder traversal of a tree, construct the binary tree. Note:You may assume that duplicates do not exist in the tree. 思路分析:这题类似于LeetCode Construct Binary Tree from Inorder and Postorder Traversal,可以参考这篇题解,主要考察递归。 AC Code /** * Definition for…

2015年1月28日 0条评论 3点热度 阅读全文

Given inorder and postorder traversal of a tree, construct the binary tree. 思路分析:这题主要考察递归,我们可以画一个二叉树的实例来具体分析。比如如果postorder 是84526731,inorder是84521637,首先我们可以知道postorder的最后一个数1必然是root,然后我们可以在inorder里面找到这个root 1,进而把inorder划分成了左半部分8452和右半部分637,显然8452和637就是左右子树的ino…

2015年1月28日 0条评论 2点热度 阅读全文

Given n pairs of parentheses, write a function to generate all combinations of well-formed parentheses. For example, given n = 3, a solution set is: "((()))", "(()())", "(())()", "()(())", "()()()" 思路分析:这题很容易想到用DFS,转化成search问题求解,状态就是当前形成的括号…

2014年11月16日 0条评论 1点热度 阅读全文