zoukankan      html  css  js  c++  java
  • [leetcode]Binary Tree Inorder Traversal

    Given a binary tree, return the inorder traversal of its nodes' values.

    For example:
    Given binary tree {1,#,2,3},

       1
        
         2
        /
       3
    

     

    return [1,3,2].

    Note: Recursive solution is trivial, could you do it iteratively?

    一次通过~~ 耶

     

    /**
     * Definition for binary tree
     * struct TreeNode {
     *     int val;
     *     TreeNode *left;
     *     TreeNode *right;
     *     TreeNode(int x) : val(x), left(NULL), right(NULL) {}
     * };
     */
    class Solution {
    public:
        vector<int> inorderTraversal(TreeNode *root) {
            // Start typing your C/C++ solution below
            // DO NOT write int main() function
            if(!root) return vector<int>();
            
            vector<int> result;
            stack<pair<TreeNode*, bool>> s;
            s.push(pair<TreeNode*, bool>(root, false));
            
            TreeNode *curNode;
            bool curFlag;
            
            while(!s.empty()){
                curNode = s.top().first;
                curFlag = s.top().second;
                s.pop();
                
                if(curFlag){
                    //second access
                    result.push_back(curNode->val);
                }else{
                    //first access, push right, self, left
                    if(curNode -> right) s.push(pair<TreeNode*, bool>(curNode->right, false));
                    s.push(pair<TreeNode*, bool>(curNode, true));
                    if(curNode -> left) s.push(pair<TreeNode*, bool>(curNode->left, false));
                    
                }
                
            }
            
            return result;
            
        }
    };


  • 相关阅读:
    linux ps查看进程命令
    linux distribution是什么?
    samba配置smb.conf
    linux samba.tar.gz安装和配置
    linux后台执行命令&
    linux crontab任务调度的使用
    linux ubuntu卸载软件
    vue-router
    vue computed
    vue 监听的使用
  • 原文地址:https://www.cnblogs.com/dyllove98/p/3184504.html
Copyright © 2011-2022 走看看