题目

分析

按要求转换二叉树;

分析转换要求,发现,新的二叉树是按照原二叉树的先序遍历结果构造的单支二叉树(只有右子树)。

发现规则,便容易处理了。得到先序遍历,构造即可。

AC代码

/**
* Definition for a binary tree node.
* struct TreeNode {
* int val;
* TreeNode *left;
* TreeNode *right;
* TreeNode(int x) : val(x), left(NULL), right(NULL) {}
* };
*/ class Solution {
public:
void flatten(TreeNode* root) {
if (!root || (!root->left && !root->right))
return; preTraverse(root); TreeNode *p = root;
//节点个数
int size = preT.size(); for (int i = 1; i < size; ++i)
{
p->left = NULL;
p->right = new TreeNode(preT[i]);
p = p->right;
}
} public:
//先序遍历
vector<int> preT;
void preTraverse(TreeNode *root)
{
if (!root)
return;
preT.push_back(root->val);
preTraverse(root->left);
preTraverse(root->right);
} };

GitHub测试程序源码

最新文章

  1. ACM提交结果简介
  2. 14 Generator
  3. android的listview的详细用法
  4. 8-JS闭包、回调实例
  5. 深入浅出设计模式——策略模式(Strategy Pattern)
  6. ModelAttribute注解
  7. Unity3D 创建动态的立方体图系统
  8. Github、Jekyll 搭建及优化静态博客方法指南
  9. Backbone一些参考资源
  10. 关于a标签下的img元素在IE7下不能点击的问题
  11. Docker aufs存储驱动layer、diff、mnt目录的区别
  12. Swift4.0 Array详解
  13. django之快速分页
  14. 回归模型效果评估系列1-QQ图
  15. jQuery提示parsererror错误解决办法
  16. UNIX网络编程——僵尸进程
  17. centos7安装libgdiplus。netcore生成验证码,处理图片
  18. wait()和notify()的理解与使用
  19. cmd命令操作Oracle数据库
  20. Sparse AutoEncoder简介

热门文章

  1. 《统计学习方法》笔记九 EM算法及其推广
  2. POJ-1020-Anniversary Cake
  3. Codeforces Round #396 (Div. 2) A
  4. 简单的UDP程序
  5. P1809 过河问题_NOI导刊2011提高(01)
  6. 初识requestAnimationFrame
  7. 使用Android-Debug-Database 在浏览器中查看App的数据库
  8. git的基本使用命令操作
  9. iis的网站发布
  10. 如何启动Intel VT-x