非递归遍历 二叉树 前序 中序 后序 通用模板

来源:互联网 发布:湖南省2016年经济数据 编辑:程序博客网 时间:2024/06/06 04:48
stack<TreeNode*> nodes;stack<bool> states;LEFT:   if(root)        {            // pre order            nodes.push(root);            states.push(true);            root=root->left;            goto LEFT;        }        else        {PEEK:    if( nodes.empty() ) return;            root=nodes.top();            bool state=states.top();            if (state)            {                // in order                states.top()=false;                root=root->right;                goto LEFT;            }            else            {                // post order                nodes.pop();                states.pop();                goto PEEK;            }        }    


void Traversal(TreeNode*root){if(root){// pre orderTraversal(root->left);// in orderTraversal(root->right);// post order}}


0 0
原创粉丝点击