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

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;
}

最新文章

  1. (转)也谈BIO | NIO | AIO (Java版)
  2. Best Time to Buy and Sell Stock1,2,3,4
  3. mysql5.6.23免安装配置
  4. ARM指令
  5. CentOS6.4 安装MongoDB
  6. apache性能测试工具ab使用详解
  7. 第8章 Iptables与Firewalld防火墙
  8. [BEC][hujiang] Lesson04 Unit1:Working life ---Reading + Listening &Grammar & Speaking
  9. c#读写cookie
  10. 000-C#基础
  11. NEUQ1038: 谭浩强C语言(第三版)习题4.8
  12. JS传值和传引用
  13. iOS StoreKit
  14. 一起来学linux:shell script(一)关于变量
  15. Centos7 安装python3
  16. linux配置PS1
  17. 机器学习【工具】:Numpy基础
  18. DevExpress07、DataNavigator、 ControlNavigator
  19. LA 3026 && POJ 1961 Period (KMP算法)
  20. sql server 全文检索 使用

热门文章

  1. ssm框架pom.xml
  2. BZOJ5338:[TJOI2018]异或——题解
  3. BZOJ2730:[HNOI2012]矿场搭建——题解
  4. 模板:数论 & 数论函数 & 莫比乌斯反演
  5. LOJ6368:请让本题永远沉睡于此——题解
  6. 洛谷 P3952 时间复杂度 解题报告
  7. PowerDesigner12.5下载汉化及破解
  8. Linux用户、用户组权限管理详解 --- 02
  9. 会话技术: Cookie 和 Session
  10. svn稀疏目录--通过设置工作目录的深度(depth)实现目录树的部分签出