Given a binary tree, check whether it is a mirror of itself (ie, symmetric around its center).
Recursive Algorithm
class Solution {
public:
bool isSymmetric(TreeNode *root) {
return ...
分类:
其他好文 时间:
2014-11-27 09:18:04
阅读次数:
176
判断两个树是不是相等。思路:递归。当前节点相等,且他们左子树和右子树都相等。class Solution {public: bool isSameTree(TreeNode *p, TreeNode *q) { if (!p) return !q; if (...
分类:
其他好文 时间:
2014-11-27 01:30:45
阅读次数:
181
一、二叉树简介 二叉树节点定义为:1 struct TreeNode 2 {3 int val;4 TreeNode *left;5 TreeNode *right;6 TreeNode(int x) : val(x), left(NULL), right(NULL...
分类:
其他好文 时间:
2014-11-26 23:55:30
阅读次数:
245
给出一个已排序的数组,将其转化为二叉查找树(BST)。思路:取数组中间元素为根结点的value,则数组左侧、右侧分别为BST的左子树、右子树。递归可求解。代码如下: 1 /** 2 * Definition for binary tree 3 * struct TreeNode { 4 * ...
分类:
其他好文 时间:
2014-11-26 18:13:30
阅读次数:
206
一个笨办法用两个Queue实现:/** * Definition for binary tree * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode(int x) { val = x; ...
分类:
其他好文 时间:
2014-11-25 17:52:34
阅读次数:
203
简单递归实现:/** * Definition for binary tree * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode(int x) { val = x; } * } */ ...
分类:
其他好文 时间:
2014-11-25 17:47:04
阅读次数:
215
给定树根root。实现中序遍历,也就是左根右。用递归的话,很简单,左边的返回值加上root的再加上右边的就行。我自己写的有点挫:/** * Definition for binary tree * struct TreeNode { * int val; * TreeNode *le...
分类:
其他好文 时间:
2014-11-25 01:34:34
阅读次数:
129
方法一:递归 1 void printNLevel(TreeNode *root, int n) 2 { 3 if (root == NULL) 4 { 5 return ; 6 } 7 8 if (n == 1) 9 {10 ...
分类:
其他好文 时间:
2014-11-24 17:01:53
阅读次数:
185
TreeNode a;while (a.hasNext()) visit(a.next());}" 问:给TreeNode写Iterator,使得以上代码可以in order traversalclass TreeNode{TreeNode *root;public: bool hasNext...
分类:
其他好文 时间:
2014-11-24 07:35:51
阅读次数:
143
+/ \1 */ \5 6这样的。要返回1+(5*6)struct TreeNode{ TreeNode * left, *right; string val; TreeNode(string i) :val(i), left(NULL), right(NULL){}}; bool...
分类:
其他好文 时间:
2014-11-23 17:17:23
阅读次数:
156