zoukankan      html  css  js  c++  java
  • leetcode第一刷_Binary Tree Zigzag Level Order Traversal

    以出现的频率来看。树的层序遍历一定是考察的重点,除非工作人员想找题水数量。

    zigzag,还是有几道题的,层序的这个非常easy,假设是奇数层。reverse下面就可以。无他。我写的时候预计还不知道这个函数。要么怎么这么拙呢。。

    class Solution {
    public:
        vector<vector<int> > zigzagLevelOrder(TreeNode *root) {
            vector<vector<int> > res;
            if(root == NULL)    return res;
            vector<int> tpres;
            queue<TreeNode*> que;
            TreeNode *pNode;
            int level = 0;
            que.push(root);
            que.push(NULL);
            while(!que.empty()){
                pNode = que.front();
                que.pop();
                if(pNode == NULL){
                    level++;
                    if(level%2 == 0){
                        for(int i=0, j=tpres.size()-1;i<j;i++, j--){
                            int t = tpres[i];
                            tpres[i] = tpres[j];
                            tpres[j] = t;
                        }
                    }
                    res.push_back(tpres);
                    if(que.empty())
                        break;
                    else{
                        tpres.clear();
                        que.push(NULL);
                        continue;
                    }
                }
                tpres.push_back(pNode->val);
                if(pNode->left)
                    que.push(pNode->left);
                if(pNode->right)
                    que.push(pNode->right);
            }
            return res;
        }
    };


  • 相关阅读:
    osg 自定义图元
    osg model
    Qt 获取键盘输入
    TensorFlow Object Detection API —— 测试自己的模型
    labelimg data
    Qt 自定义信号SIGNAL
    qt ui
    QPixmap QImage 相互转化
    QString std::string 相互转 含中文
    ubuntu 安装百度云客户端
  • 原文地址:https://www.cnblogs.com/llguanli/p/6823728.html
Copyright © 2011-2022 走看看