【刷题之路】二叉树前中后序遍历(递归)

原创 2016年05月31日 10:16:29

经典算法

class TreeToSequence {
public:
    vector<vector<int> > convert(TreeNode* root) {
        // write code here
        vector<int> front;
        vector<int> mid;
        vector<int> back;
        vector<vector<int> > res;
        fronttree(root,front);
        res.push_back(front);
        midtree(root,mid);
        res.push_back(mid);
        backtree(root,back);
        res.push_back(back);
        return res;
    }
    void fronttree(TreeNode* root,vector<int> &res){
        if(root==NULL) return;
        res.push_back(root->val);
        fronttree(root->left,res);
        fronttree(root->right,res);
    }
    void midtree(TreeNode* root,vector<int> &res){
        if(root==NULL) return;
        midtree(root->left,res);
        res.push_back(root->val);
        midtree(root->right,res);
    }
    void backtree(TreeNode* root,vector<int> &res){
        if(root==NULL) return;
        backtree(root->left,res);
        backtree(root->right,res);
        res.push_back(root->val);
    }
};

版权声明:本文为博主原创文章,未经博主允许不得转载。

程序3——二叉树的前中后层序遍历

定义数据结构typedef struct BiTree { int data; struct BiTree *lchild, *rchild; } BiTree;前序遍历void PreOde...
  • fan2012huan
  • fan2012huan
  • 2015年10月12日 15:48
  • 275

二叉树先中后遍历

问题:二叉树已知先序中序求后序遍历序列问题 问题描述: 已知二叉树的先序遍历 先序遍历:     1.访问根节点     2.前序遍历左子树     3.前序遍历右...
  • amazingcode
  • amazingcode
  • 2016年04月13日 16:47
  • 270

二叉树递归非递归遍历(递归前中后,非递归前中后,层次遍历,凹入打印法等)

由于所有的递归算法都可以借助于堆栈转换成循环结构的非递归算法。方法一:形式化模拟转换。方法二:根据要求解问题的特点设计借助于堆栈的循环结构算法。而此次正好是利用第二种按方法求解。1.1非递归前序遍历:...
  • xiaofei__
  • xiaofei__
  • 2016年05月30日 21:28
  • 3920

二叉树前中后序遍历(递归)

中途对于递归总是理不清,后来看了代码和书才想通:递归==递+归:必须要有递归结束条件,可以不是返回值,若调用一个递归的主算法为第0层算法,则从主算法调用递归算法为进入第1层调用,从第i层递归调用本算法...
  • uagvdu
  • uagvdu
  • 2016年04月26日 09:36
  • 455

二叉树前、中、后序遍历(递归与非递归)

树节点结构体: struct TreeNode {     int val;     TreeNode *left;     TreeNode *right; }; 递归建立二叉树: TreeNo...
  • yulian529
  • yulian529
  • 2016年03月27日 21:33
  • 129

【刷题之路】二叉树上最远距离

从二叉树的节点A出发,可以向上或者向下走,但沿途的节点只能经过一次,当到达节点B时,路径上的节点数叫作A到B的距离。对于给定的一棵二叉树,求整棵树上节点间的最大距离。 最大距离不外乎两种情况 1、左子...
  • zyn2609530
  • zyn2609530
  • 2016年06月01日 10:26
  • 212

POJ题目刷题路线

转载地址:http://www.cnblogs.com/kuangbin/archive/2011/07/29/2120667.html 初期: 一.基本算法: (1)枚举. (poj1753,...
  • u014575047
  • u014575047
  • 2016年05月21日 17:47
  • 362

Python 刷题(想练python的可以对着刷一刷,持续更新)

这道题的意思是说
  • geniusluzh
  • geniusluzh
  • 2014年04月23日 10:36
  • 7732

leetcode刷题经验

语言不是最重要的,思想最重要从做上面的题,我发现我更擅长一些数学技巧不高的程序题,习惯靠直觉立马书写代码,而非严格推理之后,再书写代码对于链表的题比较擅长,链表可以在纸上画画,关键要考虑的问题,就是链...
  • basycia
  • basycia
  • 2016年02月28日 15:31
  • 1394

谈谈程序员面试之刷题

前一段时间有一个非常有趣的故事(http://www.pingwest.com/sorry-cant-hire-you/  ),Max Howell (Homebrew的作者) 在 Google 面试...
  • github_39335046
  • github_39335046
  • 2017年06月29日 17:03
  • 1742
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:【刷题之路】二叉树前中后序遍历(递归)
举报原因:
原因补充:

(最多只允许输入30个字)