• NC15 求二叉树的层序遍历 牛客


    描述

    给定一个二叉树,返回该二叉树层序遍历的结果,(从左到右,一层一层地遍历)
    例如:
    给定的二叉树是{3,9,20,#,#,15,7},


    该二叉树层序遍历的结果是
    [
    [3],
    [9,20],
    [15,7]
    ]

    c++:

    /**
     * struct TreeNode {
     *    int val;
     *    struct TreeNode *left;
     *    struct TreeNode *right;
     * };
     */
    
    class Solution {
    public:
        /**
         * 
         * @param root TreeNode类 
         * @return int整型vector<vector<>>
         */
        vector<vector<int> > levelOrder(TreeNode* root) {
            // write code here
            queue< TreeNode* > Q;
            vector< vector<int> > res;
            vector<int> s;
            
            if (root==NULL) return res;
            Q.push(root);
            int num1=1,num2=0;
            while(!Q.empty())
            {
                TreeNode* p=Q.front();
                if (p->left!=NULL) {Q.push(p->left); num2++;}
                if (p->right!=NULL) {Q.push(p->right); num2++;}
                s.push_back(p->val);
                num1--;
                Q.pop();
                if (num1==0)
                {
                    res.push_back(s);
                    s.clear();
                    num1=num2;
                    num2=0;
                }
            }
          return res;
        }
    };
  • 相关阅读:
    通过梯度下降和logistic回归求w向量和b
    一个节点的神经网络的工作流程
    对神经网络大致框架的理解
    内置对象
    对象
    预解析
    作用域
    函数
    数组
    循环和代码规范
  • 原文地址:https://www.cnblogs.com/stepping/p/14838775.html
Copyright © 2020-2023  润新知