摘要:
本质上是二叉树的root->right->left遍历。++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++给定一个二叉树,就地的把他转换成一个链表。例如:给定 1 / \ 2 5 / \ \ 3 4 6转换后的树应该向这样子: 1 \ 2 \ 3 \ 4 \ 5 \ ... 阅读全文
摘要:
平衡的二叉树的定义都是递归的定义,所以,用递归来解决问题,还是挺容易的额。本质上是递归的遍历二叉树。++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++给定一个二叉树,判定他是不是高度平衡的二叉树。对于这个问题,每个节点的两个子树的深度不会相差超过1,那么这样的二叉树就是一个平衡的二叉树+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++Given a binary tree, 阅读全文
摘要:
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++给定一个二叉树,判断是否他自己的镜像对称的。(以自身中间,为镜像对称的)例如羡慕这个二叉树就是对称的: 1 / \ 2 2 / \ / \3 4 4 3但是下面这个就不是对称的: 1 / \ 2 2 \ \ 3 3笔记:如果你既能迭代的解决这个问题,又能递归的解决这个问题,那么将给你加分。++++++++++++++++++++++++++++++++++++++++++++++... 阅读全文
摘要:
迭代版本用的是二叉树的DFS,中的root->right->left++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++给定两个二叉树,写一个函数判断他们是否是相同的。如果两个二叉树的结构相同而且每个节点里面的值也相同,那么认为他们是相同的二叉树。++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++Given two binary trees, write a 阅读全文
摘要:
开一个指针数组,中序遍历这个二叉搜索树,将节点的指针依次保存在数组里,然后寻找两处逆序的位置,中序便利里BST得到的是升序序列++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++二叉搜索树(BST)中的两个节点不小心被交换了下。不改变其结构的情况下恢复这个树。笔记:用O(n)的空间复杂度的方法很直接。你能否设计一个常量空间的解决法方案?+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 阅读全文
摘要:
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++给定一个二叉树,返回他的Z字形层次遍历的节点的values。(提示,从左到右,然后下一层从右到左,然后再变化方向,就是这样一层一层的遍历)例如: 给定一个二叉树{3,9,20,#,#,15,7}, 3 / \ 9 20 / \ 15 7返回的层次遍历的结果是:[ [3], [20,9], [15,7]]+++++++++++++++++++++++++++++++++++++++++++++++... 阅读全文
摘要:
就把vector改成用栈类存放层次遍历的一层的序列++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++给定一个二叉树,自底向上的返回他的层次遍历的节点的values。(提示,从左到右,一层一层的遍历,但是这里是从叶子节点到根节点)例如: 给定一个二叉树{3,9,20,#,#,15,7}, 3 / \ 9 20 / \ 15 7返回的层次遍历的结果是:[ [15,7] [9,20], [3],]+++++++++++++++++++++++++++... 阅读全文
摘要:
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++给定一个二叉树,返回他的层次遍历的节点的values。(提示,从左到右,一层一层的遍历)例如: 给定一个二叉树{1,#,2,3}, 1 \ 2 / 3返回的层次遍历的结果是:[ [3], [9,20], [15,7]]++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++Given a b... 阅读全文
摘要:
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++给定一个二叉树,返回他的后序遍历的节点的values。例如: 给定一个二叉树{1,#,2,3}, 1 \ 2 / 3返回[3,2,1].笔记:递归解决方案是微不足道的,你可以用迭代的方法吗?++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++Given a binary tree, retur... 阅读全文
摘要:
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++给定一个二叉树,返回他的中序遍历的节点的values。例如: 给定一个二叉树{1,#,2,3}, 1 \ 2 / 3返回[1,3,2].笔记:递归解决方案是微不足道的,你可以用迭代的方法吗?困惑什么"{1,#,2,3}"的意思吗?> read more on how binary tree is serialized on OJ.二叉树序列化:序列号的二叉树遵循的是层次遍历的顺序,'#'代表 阅读全文