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

    问题:从上到下打印二叉树的每一行
    分析:先搜出二叉树的高度,然后遍历高度,每次搜索一个高度

    class Solution {
    public:
        int dfs(TreeNode *root)
        {
            if(root==NULL) return 0;
            if(root->left==NULL && root->right==NULL) return 1;
            return max(dfs(root->left),dfs(root->right))+1;
        }
        void Ddfs(TreeNode *root,int t,vector<int> &vec,int step)
        {
            if(step==t) vec.push_back(root->val);
            if(root->left)  Ddfs(root->left,t,vec,step+1);
            if(root->right) Ddfs(root->right,t,vec,step+1);
        }
        vector<vector<int> > levelOrder(TreeNode *root) {
            int height=dfs(root);
            vector<vector<int> > vec1;
            for(int i=1;i<=height;i++)
            {
                vector<int> vec2;
                Ddfs(root,i,vec2,1);
                vec1.push_back(vec2);
            }
            return vec1;
        }
    };
    

      

  • 相关阅读:
    Jmeter -准备篇
    SQL-DELETE
    SQL-UPDATE
    SQL- AND & OR & Order by & INSERT INTO
    SQL-WHERE
    SQL- select distinct
    SQL-select
    【图】max51开发板top页
    simple_spi_top
    UART.V
  • 原文地址:https://www.cnblogs.com/zsboy/p/3895421.html
Copyright © 2011-2022 走看看