103:Binary Tree Zigzag Level Order Traversal【樹】【BFS】【棧】

題目鏈接:click~

/*題意:對一顆二叉樹進行Z字行一層一層的遍歷*/
class Solution {
public:
    void DFS(TreeNode *T, int level, vector<vector<int>> &path) {
        if(T == NULL) return;
        if(level == path.size()) {
            path.resize(level+1);
        }
        path[level].push_back(T->val);
        DFS(T->left, level+1, path);
        DFS(T->right, level+1, path);
    }
    vector<vector<int> > zigzagLevelOrder(TreeNode *root) {
        vector<vector<int>> path;
        if(root == NULL) return path;
        DFS(root, 0, path);
        int len = path.size();
        for(int i = 1; i < len; i += 2)
            reverse(path[i].begin(), path[i].end());
    }
};


發佈了185 篇原創文章 · 獲贊 10 · 訪問量 16萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章