1. preorder travel
class Solution {
public:
    vector<int> preorderTraversal(TreeNode* root) {
        vector<int> result;
        stack<TreeNode *> myStack;
        TreeNode * temp = root;
        while(!myStack.empty() || temp != NULL){
            if(temp != NULL){
                myStack.push(temp);
                result.push_back(temp->val);
                temp = temp->left;
            }
            else{
                TreeNode * node = myStack.top();
                myStack.pop();
                temp = node->right;
            }
        }
        return result;
    }
};2. inorder travel
class Solution {
public:
    vector<int> preorderTraversal(TreeNode* root) {
        vector<int> result;
        stack<TreeNode *> myStack;
        TreeNode * temp = root;
        while(!myStack.empty() || temp != NULL){
            if(temp != NULL){
                myStack.push(temp);
                temp = temp->left;
            }
            else{
                TreeNode * node = myStack.top();
                myStack.pop();
                result.push_back(temp->val);
                temp = node->right;
            }
        }
        return result;
    }
};3. postorder travel
class Solution {
public:
    vector<int> postorderTraversal(TreeNode* root) {
        vector<int> result;
        stack<TreeNode *> myStack;
        TreeNode * temp = root;
        while(!myStack.empty() || temp != NULL){
            if(temp != NULL){
                myStack.push(temp);
                result.insert(result.begin(),temp->val);
                temp = temp->right;
            }
            else{
                TreeNode * node = myStack.top();
                myStack.pop();
                temp = node->left;
            }
        }
        return result;
    }
}; 
                   
                   
                   
                   
                             本文介绍了二叉树的三种遍历方式:前序遍历、中序遍历及后序遍历,并提供了每种遍历对应的C++实现代码。通过栈结构辅助,实现了非递归形式的遍历算法。
本文介绍了二叉树的三种遍历方式:前序遍历、中序遍历及后序遍历,并提供了每种遍历对应的C++实现代码。通过栈结构辅助,实现了非递归形式的遍历算法。
           
       
           
                 
                 
                 
                 
                 
                
               
                 
                 
                 
                 
                
               
                 
                 扫一扫
扫一扫
                     
              
             
                   309
					309
					
 被折叠的  条评论
		 为什么被折叠?
被折叠的  条评论
		 为什么被折叠?
		 
		  到【灌水乐园】发言
到【灌水乐园】发言                                
		 
		 
    
   
    
   
             
            


 
            