题目链接:https://leetcode.com/problems/binary-tree-preorder-traversal/(非递归实现)二叉树的先序遍历。 1 class Solution 2 { 3 public: 4 vector preorderTraversal(TreeN...
分类:
其他好文 时间:
2015-04-05 23:31:23
阅读次数:
144
注:(1)java中树的构建(2)构建子树时可以直接利用Arrays.copyOfRange(preorder, from, to),这个方法是左开右闭的 1 package com.xsf.SordForOffer; 2 3 import java.util.Arrays; 4 5 /*剑指o.....
分类:
编程语言 时间:
2015-04-05 21:49:10
阅读次数:
170
题目:
Given preorder and inorder traversal of a tree, construct the binary tree.Note:
You may assume that duplicates do not exist in the tree.
根据前序遍历和中序遍历结果构造二叉树。思路分析:
分析二叉树前序遍历和中序遍历的结果我们发现:
二叉树中序遍...
分类:
其他好文 时间:
2015-04-03 22:32:25
阅读次数:
234
思路:
1.将中序遍历序列和其对应的下标存储到一个map中,方便下面的查找
2.递归选取前序序列的第一个元素作为树的根节点,然后查找根节点在前序序列中位置inorderIndex,inorderIndex-startInorder可以得到左子树的长度
3.根据左子树的长度和startPreOrder可以求出前序序列中左子树的起始位置
4.从上面可以求出左右子树的前序序列和中序序列的起始位置,递归调用建树过程即可。
PS:其实,对于这道题,有更简单的方法,可根据按前序序列元素出现的顺序依次作为树的根节点进行...
分类:
其他好文 时间:
2015-04-03 15:17:20
阅读次数:
133
class Solution {
public:
vector preorderTraversal(TreeNode *root) {
vector res;
stack s;
TreeNode * p = root;
while(p!=NULL||!s.empty())
{
while...
分类:
其他好文 时间:
2015-04-02 19:02:38
阅读次数:
131
题目:
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].Note: Recursive solution is triv...
分类:
其他好文 时间:
2015-04-01 21:56:42
阅读次数:
96
二叉树的前序遍历 思路:小心程序运行栈溢出,用stack模拟 class Solution {public: vector preorderTraversal(TreeNode *root) { stack stk; vector res; if (root) stk.push(root); els...
分类:
其他好文 时间:
2015-04-01 11:10:06
阅读次数:
134
struct BinTree
{
int data;
BinTree * left;
BinTree * right;
};递归版本void PreOrder(BinTree * root)
{
if(root != nullptr)
{
cout <data;
PreOrder(root->left);...
分类:
其他好文 时间:
2015-03-30 18:48:42
阅读次数:
138
题目:
Given preorder and inorder traversal of a tree, construct the binary tree.
Note:
You may assume that duplicates do not exist in the tree.
思路:根据前序和中序的特点 递归调用创建二叉树
#include
#include
u...
分类:
其他好文 时间:
2015-03-30 11:26:36
阅读次数:
122
问题描述Given a binary tree, return thepreordertraversal of its nodes' values.For example:Given binary tree{1,#,2,3}, 1 \ 2 / 3return[1,2,3]...
分类:
其他好文 时间:
2015-03-21 21:14:27
阅读次数:
173