zoukankan      html  css  js  c++  java
  • LeetCode_Binary Tree Level Order Traversal

    Given a binary tree, return the level order traversal of its nodes' values. (ie, from left to right, level by level).
    
    For example:
    Given binary tree {3,9,20,#,#,15,7},
    
        3
       / \
      9  20
        /  \
       15   7
    return its level order traversal as:
    
    [
      [3],
      [9,20],
      [15,7]
    ]
    

      

    /**
     * Definition for binary tree
     * struct TreeNode {
     *     int val;
     *     TreeNode *left;
     *     TreeNode *right;
     *     TreeNode(int x) : val(x), left(NULL), right(NULL) {}
     * };
     */
    class Solution {
    public:
        vector<vector<int> > levelOrder(TreeNode *root) {
            // Start typing your C/C++ solution below
            // DO NOT write int main() function
            vector<vector<int>> res;
        	if(root == NULL) return res;
    		queue<TreeNode *> myq, myqq;
    		myq.push(root);
    		while(!myq.empty()){
    			vector<int> tp;
    			while(!myq.empty()){
    				TreeNode* p = myq.front();
    				myq.pop();
    				tp.push_back(p->val);
    				if(p->left != NULL)
    					myqq.push(p->left);
    				if(p->right != NULL)
    					myqq.push(p->right);
    			}
    			myq.swap(myqq);
    			res.push_back(tp);
    		}
    		return res;
        }
    };
    

      

    --------------------------------------------------------------------天道酬勤!
  • 相关阅读:
    XTU 1250 Super Fast Fourier Transform
    XTU 1249 Rolling Variance
    XTU 1243 2016
    CodeForces 710A King Moves
    CodeForces 710B Optimal Point on a Line
    HDU 4472 Count
    并查集
    高精度四件套
    Kruskal最小生成树
    [蓝桥杯]翻硬币(贪心的详解附带题目测试链接)
  • 原文地址:https://www.cnblogs.com/graph/p/3011467.html
Copyright © 2011-2022 走看看