zoukankan      html  css  js  c++  java
  • 剑指offer---按只字形顺序打印二叉树

    class Solution 
    {
    public:
        vector<vector<int> > Print(TreeNode* pRoot) 
        {
            
            TreeNode* cur = pRoot;
            stack<TreeNode*> stack1_LeftToRight;
            stack<TreeNode*> stack2_RightToLeft;
            stack1_LeftToRight.push(pRoot);
            vector<vector<int> > result;
            if (pRoot == NULL)    return result;
            while ((!stack1_LeftToRight.empty()) || (!stack2_RightToLeft.empty()))
            {
                vector<int> re;
                if( (!stack1_LeftToRight.empty()) && (stack2_RightToLeft.empty()))
                {
                    while (!stack1_LeftToRight.empty())
                    {
                        TreeNode* cur= stack1_LeftToRight.top();
                        if(cur->left!=NULL) stack2_RightToLeft.push(cur->left);
                        if(cur->right!=NULL) stack2_RightToLeft.push(cur->right);
                        re.push_back(cur->val);
                        stack1_LeftToRight.pop();
                    }
                    result.push_back(re);
                }
                else
                {
                    while (!stack2_RightToLeft.empty())
                    {
                        TreeNode* cur = stack2_RightToLeft.top();
                        if(cur->right!=NULL) stack1_LeftToRight.push(cur->right);
                        if(cur->left!=NULL) stack1_LeftToRight.push(cur->left);
                        re.push_back(cur->val);
                        stack2_RightToLeft.pop();
                    }
                    result.push_back(re);    
                }
                re.clear();
            }
            return result;
    
        }
    
    };
  • 相关阅读:
    [PHP] Layui + jquery 实现 实用的文章自定义标签
    个人总结第五周
    个人总结第四周
    个人总结第三周
    个人总结第二周
    个人总结第一周
    用户体验评价
    第二阶段scrum冲刺
    单词统计
    用户模块和用户场景
  • 原文地址:https://www.cnblogs.com/159269lzm/p/7271741.html
Copyright © 2011-2022 走看看