LeetCode | 107. Binary Tree Level Order Traversal II

 

題目:

Given a binary tree, return the bottom-up level order traversal of its nodes' values. (ie, from left to right, level by level from leaf to root).

For example:
Given binary tree [3,9,20,null,null,15,7],

    3
   / \
  9  20
    /  \
   15   7

 

return its bottom-up level order traversal as:

[
  [15,7],
  [9,20],
  [3]
]

 

代碼:

/**
 * Definition for a binary tree node.
 * struct TreeNode {
 *     int val;
 *     TreeNode *left;
 *     TreeNode *right;
 *     TreeNode(int x) : val(x), left(NULL), right(NULL) {}
 * };
 */
class Solution {
public:
    
    vector<vector<int>> levelOrderBottom(TreeNode* root) {
        vector<vector<int>> res;
        if(root == NULL)
            return res;
        int next_level = 0, cur_level = 1;
        queue<TreeNode*> q;
        q.push(root);
        while(!q.empty())
        {
            vector<int> leaves;
            while(cur_level--)
            {
                TreeNode* cur = q.front();
                q.pop();
                leaves.push_back(cur->val);
                if(cur->left != NULL)
                {
                    q.push(cur->left);
                    next_level++;
                }
                if(cur->right != NULL)
                {
                    q.push(cur->right);
                    next_level++;
                }
            }
            res.push_back(leaves);
            cur_level = next_level;
            next_level = 0;
        }
        reverse(res.begin(), res.end());
        return res;
    }
};

 

Easy難度的題,一次AC~

轉眼就要2020年了,說來2020年真的很好出題啊,疊詞的年份,期待~

感謝2019年,希望新的一年可以認真多寫些有乾貨的博客 (ง •_•)ง

 

回顧2019年,關於coding部分,還是有幾個關鍵的節點的,在年初參加的女子編程賽,凌晨三點交卷,五點半起牀趕飛機= =

最後提交16秒的時候AC了一道題目,真的相當刺激了😍儘管最後還是醬油~

 

第二個節點就是遍佈在上半年的coding,雖然最後結果也不是那麼理想,但是人生就在於嘗試啊!

從六月之後coding的次數就明顯減少了,主要轉戰於paper。。。雖然結果也不那麼。。。

好吧,看來今年就沒什麼顯著性成果,但自己還算開心的一年。

新的一年,加油呀!

再見10年代,你好2020 ^______________________________^

 

 

 

 

 

 

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章