题解 | #按之字形顺序打印二叉树#

按之字形顺序打印二叉树

http://www.nowcoder.com/practice/91b69814117f4e8097390d107d2efbe0

/*
struct TreeNode {
    int val;
    struct TreeNode *left;
    struct TreeNode *right;
    TreeNode(int x) :
            val(x), left(NULL), right(NULL) {
    }
};
*/
class Solution {
public:
    vector<vector<int> > Print(TreeNode* pRoot) {
        vector<vector<int> >A;
        vector<int>B;
        if(pRoot==NULL)
            return A;
        TreeNode*curLast=pRoot,*nextLast=NULL;
        queue<TreeNode*>que;
        que.push(pRoot);
        bool flag=true;
        while(!que.empty()){
            TreeNode*node=que.front();
            que.pop();
             if(node->left){
             que.push(node->left);
             nextLast=node->left;
              }
              if(node->right){
                 que.push(node->right);
                 nextLast=node->right;
                }
            B.push_back(node->val);
            if(node==curLast){
                if(flag){
                    A.push_back(B);
                }
                else{
                    reverse(B.begin(), B.end());
                    A.push_back(B);
                }
                curLast=nextLast;
                B.clear();
                flag=!flag;
            }
        }
        return A;
    }
    
};
全部评论

相关推荐

11-26 22:34
已编辑
重庆邮电大学 Java
快手 客户端开发 (n+5)k*16 公积金12
牛客895077908号:佬 什么双非硕啊
点赞 评论 收藏
分享
10-14 10:56
已编辑
长沙学院 嵌入式软件开发
痴心的00后拿到了ssp:hr面挂了,无所谓了反正不去😃
点赞 评论 收藏
分享
10-28 11:04
已编辑
美团_后端实习生(实习员工)
一个2人:我说几个点吧,你的实习经历写的让人觉得毫无含金量,你没有挖掘你需求里的 亮点, 让人觉得你不仅打杂还摆烂。然后你的简历太长了🤣你这个实习经历看完,估计没几个人愿意接着看下去, sdk, 索引这种东西单拎出来说太顶真了兄弟,好好优化下简历吧
点赞 评论 收藏
分享
评论
1
收藏
分享
牛客网
牛客企业服务