• 二叉树后序遍历


    递归:
    
    
    vector<int> vec;
     void process(TreeNode *root)
        {
            if(root == NULL)return ;
            process(root->left);
            process(root->right);
            vec.push_back(root->val);
            
        }
    

      

    非递归:运用前序遍历转换
    
        vector<int> postorderTraversal1(TreeNode *root) {
            stack<TreeNode*> s;
            vector<int> v;
            if(root == NULL)return v;
            s.push(root);
            while(!s.empty()){
                TreeNode *t = s.top();
                v.push_back(t->val);
                s.pop();
                 if(t->left)s.push(t->left);
                if(t->right)s.push(t->right);
               
                
            }
            reverse(v.begin(),v.end());
            //process(root);
            return v;
        }
    非递归
    
    
    vector<int> postorderTraversal(TreeNode *root) {
                stack<TreeNode*> s;
                vector<int> v;
                if(root == NULL)return v;
                s.push(root);
                while(!s.empty()){
                   TreeNode *t = s.top();
                   while(t->left){s.push(t->left);t =t->left;}
                   t = s.top();
                    if(t->right == NULL)
                    {
                        v.push_back(t->val);
                        s.pop();
                        if(s.empty())break;
                        TreeNode* r = s.top();
                        if( r->left == t)
                            r->left = NULL;
                        if(r->right == t)
                            r->right = NULL;
                    }else{
                        s.push(t->right);
                    }
                    
                }
            return v;
        }
  • 相关阅读:
    junit源码解析--测试驱动运行阶段
    junit源码解析--初始化阶段
    junit源码解析--核心类
    junit测试套件
    junit参数化测试
    junit忽略测试方法
    Junit4常用注解
    泛型技术
    在使用Java8并行流时的问题分析
    Linux 常用性能分析命令
  • 原文地址:https://www.cnblogs.com/lyf-sunicey/p/9546892.html
Copyright © 2020-2023  润新知