Leetcode 之Flatten Binary Tree to Linked List(50)

时间:2016-06-01 15:28:03   收藏:0   阅读:151

技术分享

将左子树接到右子树之前,递归解决

技术分享
void flatten(TreeNode *root)
      {
          if (root == nullptr)return;

          flatten(root->left);
          flatten(root->right);
          //如果没有左子树,直接返回即可
          if (root->left == nullptr)return;
          p = root->left;
          //寻找左子树的最后一个结点
          while (p->right)p = p->right;
          //将右结点接在左子树的最后一个结点上
          p->right = root->right;
          //将左子树移到右子树上
          root->right = root->left;
          root->left = nullptr;
      }
View Code

 

原文:http://www.cnblogs.com/573177885qq/p/5549708.html

评论(0
© 2014 bubuko.com 版权所有 - 联系我们:wmxa8@hotmail.com
打开技术之扣,分享程序人生!