zoukankan      html  css  js  c++  java
  • Leetcode 102 Binary Tree Level Order Traversal 二叉树+BFS

    二叉树的层次遍历

     1 /**
     2  * Definition for a binary tree node.
     3  * struct TreeNode {
     4  *     int val;
     5  *     TreeNode *left;
     6  *     TreeNode *right;
     7  *     TreeNode(int x) : val(x), left(NULL), right(NULL) {}
     8  * };
     9  */
    10 class Solution {
    11 public:
    12     vector<vector<int>> levelOrder(TreeNode* root) {
    13         vector<vector<int>> v;
    14         if(!root) return v;
    15         vector<int> t;
    16         
    17         t.push_back(root->val);
    18         v.push_back(t);
    19         root->val = 1;
    20         
    21         queue<TreeNode*> q;
    22         q.push(root);
    23         
    24         while(!q.empty()){
    25             TreeNode* now = q.front();
    26             q.pop();
    27             if(!now) continue;
    28             
    29             q.push(now->left);
    30             q.push(now->right);
    31             if(now->val < v.size()){
    32                 if(now->left) v[now->val].push_back(now->left->val);
    33                 if(now->right) v[now->val].push_back(now->right->val);
    34             }
    35             else{
    36                 vector<int> t;        
    37                 if(now->left) t.push_back(now->left->val);
    38                 if(now->right) t.push_back(now->right->val);
    39                 if(t.size() != 0)v.push_back(t);
    40             }
    41             if(now->left) now->left->val = now->val + 1;
    42             if(now->right)now->right->val = now->val + 1;
    43         }
    44         //reverse(v.begin(),v.end());
    45         return v;
    46     }
    47 };
  • 相关阅读:
    oracle数据库数据导出
    oracle 数据连接方式
    plsql 建表空间
    java Excel 导入数据库
    python爬虫学习数据分析(连载中)
    python之pip库管理工具pip安装
    数据结构之看病排队系统
    数据结构之顺序串
    数据结构之链队
    数据结构之环形队列
  • 原文地址:https://www.cnblogs.com/onlyac/p/5243688.html
Copyright © 2011-2022 走看看