zoukankan      html  css  js  c++  java
  • leetcode117

    本题和leetcode116的区别是,116题是完全二叉树,本题是普通二叉树(不一定是完全二叉树)。

    但当初做116题的时候,并没有使用完全二叉树这个条件,因此当初的解决方案,完全适用于本题。

     1 class Solution {
     2 public:
     3     Node* connect(Node* root) {
     4         if (root != NULL)
     5         {
     6             queue<Node*> Q;
     7             root->next = NULL;
     8             Q.push(root);
     9             while (!Q.empty())
    10             {
    11                 vector<Node*> V;
    12                 while (!Q.empty())
    13                 {
    14                     Node* t = Q.front();
    15                     Q.pop();
    16                     if (t->left != NULL)
    17                     {
    18                         V.push_back(t->left);
    19                     }
    20                     if (t->right != NULL)
    21                     {
    22                         V.push_back(t->right);
    23                     }
    24                 }
    25                 V.push_back(NULL);
    26                 for (int i = V.size() - 1; i > 0; i--)
    27                 {
    28                     V[i - 1]->next = V[i];
    29                 }
    30                 for (int i = 0; i < V.size() - 1; i++)
    31                 {
    32                     if (V[i] != NULL)
    33                     {
    34                         Q.push(V[i]);
    35                     }
    36                 }
    37             }
    38         }
    39         return root;
    40     }
    41 };
  • 相关阅读:
    虚继承virtual public
    My first blog
    mybatis(一)SqlSessionFactory初始化
    dubbo
    设计模式
    基本算法
    redis
    spring cloud eureka
    spring boot
    spring MVC
  • 原文地址:https://www.cnblogs.com/asenyang/p/12021690.html
Copyright © 2011-2022 走看看