c_cpp 102.二叉树级别订单遍历 - 难度中等 - 2018.9.10

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c_cpp 102.二叉树级别订单遍历 - 难度中等 - 2018.9.10相关的知识,希望对你有一定的参考价值。

class Solution {
public:
    vector<vector<int>> levelOrder(TreeNode* root) {
        vector<vector<int>> re;
        
        if (!root) {
            return re;
        }

        // add first vec
        vector<int> rootVec;
        rootVec.push_back(root->val);
        re.push_back(rootVec);
        
        // preset preVec
        vector<TreeNode *> preNodeVec;
        preNodeVec.push_back(root);
        
        while (1) {
            vector<TreeNode *> tmpNodeVec;
            vector<int> tmpReVec;
            for (int i = 0; i < preNodeVec.size(); i++) {
                if (preNodeVec[i]->left) {
                    tmpNodeVec.push_back(preNodeVec[i]->left);
                    tmpReVec.push_back(preNodeVec[i]->left->val);
                }
                if (preNodeVec[i]->right) {
                    tmpNodeVec.push_back(preNodeVec[i]->right);
                    tmpReVec.push_back(preNodeVec[i]->right->val);
                }
            }
            if (tmpNodeVec.size() <= 0) {
                break;
            }
            preNodeVec = tmpNodeVec;
            re.push_back(tmpReVec);
        }
        return re;
    }
};

以上是关于c_cpp 102.二叉树级别订单遍历 - 难度中等 - 2018.9.10的主要内容,如果未能解决你的问题,请参考以下文章

c_cpp 94.二叉树有序遍历 - 难度中等 - 2018.9.7

c_cpp 二叉树级别顺序遍历

java 107.二叉树级别订单遍历II(BFS).java

java 107.二叉树级别订单遍历II(BFS).java

java 107.二叉树级别订单遍历II(BFS).java

java 107.二叉树级别订单遍历II(BFS).java