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;
        }
    };
    

      

    --------------------------------------------------------------------天道酬勤!
  • 相关阅读:
    libuv::线程
    libuv::定时器
    libuv::线程池
    libuv::线程同步
    ABAQUS 2017 安装后无法运行问题
    Abaqus2017安装全过程
    ModelCenter安装详解
    centos下安装Ansys 17.2的全部过程
    Jmeter压力测试分布式部署
    Centos7永久挂载iso文件
  • 原文地址:https://www.cnblogs.com/graph/p/3011467.html
Copyright © 2011-2022 走看看