1. 程式人生 > 其它 >【技術教程】在內網部署視訊平臺雲服務,並實現公網訪問的操作步驟

【技術教程】在內網部署視訊平臺雲服務,並實現公網訪問的操作步驟

二叉樹的層序遍歷(bfs)

✅做題思路or感想:

  • 利用佇列來實現層序遍歷
  • 明確每一層直接的元素不用區別對待時,其實程式碼中的size可以不寫,但在這裡要根據每一層來進行分組,所以要寫size
  • 當佇列為空時,結束bfs
class Solution {
public:
    vector<vector<int>> levelOrder(TreeNode* root) {
        vector<vector<int>>result;
        if (root == nullptr)return result;	//防止奇怪測試用例
        queue<TreeNode*>que;
        que.push(root);	//先放最開始的根節點
        while (!que.empty()) {
            int size = que.size();	//這裡要根據每一層來分組,所以要用個size來區別每一層的節點
            vector<int>temp;	
            for (; size; size--) {
                //處理節點
                auto t = que.front();
                temp.push_back(t->val);	
                //將符合條件的節點加入佇列中
                if (t->left)que.push(t->left);
                if (t->right)que.push(t->right);
                que.pop();	//當一個節點利用完後,就可以彈出了
            }
            result.push_back(temp);
        }
        return result;
    }
};