• Lintcode---二叉树的层次遍历(原型)


    给出一棵二叉树,返回其节点值的层次遍历(逐层从左往右访问)

    样例

    给一棵二叉树 {3,9,20,#,#,15,7} :

      3
     / 
    9  20
      /  
     15   7
    

    返回他的分层遍历结果:

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

    /**
     * Definition of TreeNode:
     * class TreeNode {
     * public:
     *     int val;
     *     TreeNode *left, *right;
     *     TreeNode(int val) {
     *         this->val = val;
     *         this->left = this->right = NULL;
     *     }
     * }
     */
     
     
    class Solution {
        /**
         * @param root: The root of binary tree.
         * @return: Level order a list of lists of integer
         */
        /*
        二叉树最基本的层次遍历方式;
        */
    public:
        vector<vector<int>> levelOrder(TreeNode *root) {
            // write your code here
            vector<vector<int>> vec;
            if(root==NULL){
                return vec;
            }
            
            queue<TreeNode*> que;
            que.push(root);
            
            while(!que.empty()){
                int count=que.size();
                vector<int> vec_temp;
                
                while(count--){
                    TreeNode* temp=que.front();
                    que.pop();
                    
                    vec_temp.push_back(temp->val);
                    
                    if(temp->left){
                        que.push(temp->left);
                    }
                    
                    if(temp->right){
                        que.push(temp->right);
                    }
                }
                
                vec.push_back(vec_temp);
            }
            
            return vec;
        }
    };
    
  • 相关阅读:
    sas 基础(1)-关于数据格式的SAS函数
    sas 命令行打开SAS IDE 的代码
    获取指定数据集观测数
    sas spawner
    sas 解析json
    正则表达式(更新中。。。)
    async await的简单使用
    element ui只输入数字校验
    element ui中表单循环项的校验
    微信小程序template和组件
  • 原文地址:https://www.cnblogs.com/Allen-rg/p/7110908.html
Copyright © 2020-2023  润新知