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
            vector<int> res;
            if(root == NULL) return res;
        	
    		stack<TreeNode *> mys;
    		while(! (mys.empty()) || root!= NULL)
    		{
    			while(root!= NULL){
    				mys.push(root);
    				root = root->left;
    			}
    			
    			root = mys.top();
    			mys.pop();
    			res.push_back(root->val);
    			root = root->right;
    		}
    		
    		return res;
        }
    };
    

      

  • 相关阅读:
    POJ 1936 All in All
    POJ 2305 Basic remains
    POJ 2081 Recaman's Sequence
    MFC MDI 窗口函数执行顺序
    decompose
    不新建一个文档
    code mistake
    ...
    paper
    stereo
  • 原文地址:https://www.cnblogs.com/graph/p/3321913.html
Copyright © 2011-2022 走看看