博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
897. Increasing Order Search Tree(Tree)
阅读量:4181 次
发布时间:2019-05-26

本文共 1173 字,大约阅读时间需要 3 分钟。

链接:

题目:将原二叉搜索树进行调整,使得每个节点只有右子节点。

例如:

Example 1:Input: [5,3,6,2,4,null,8,1,null,null,null,7,9]       5      / \    3    6   / \    \  2   4    8 /        / \ 1        7   9Output: [1,null,2,null,3,null,4,null,5,null,6,null,7,null,8,null,9] 1  \   2    \     3      \       4        \         5          \           6            \             7              \               8                \                 9

思路:

保存一个全局newroot指针,采用中序遍历的方法,
每次遍历时: newroot->right = root; root->left = NULL;newroot = root; (root为当前节点)

代码:

class Solution {public:        void In_Order(TreeNode *root){             if(!root) return;                     In_Order(root->left);                          if(!newroot) {//找到第一个节点                newroot = ret = root;               }                     else {  //后续节点调整                 newroot->right = root;                 root->left = NULL;                 newroot = root;             }                     In_Order(root->right);            }        TreeNode* increasingBST(TreeNode* root) {              ret = newroot = NULL;              In_Order(root);                      return ret;    }    private:    TreeNode *newroot;    TreeNode *ret;};

转载地址:http://mirai.baihongyu.com/

你可能感兴趣的文章
matlab基础知识
查看>>
程序员的职业素养
查看>>
一道面试题深入了解java底层
查看>>
java下载附件
查看>>
cron表达式每个月最后一天
查看>>
Oracle中Like与Instr模糊查询性能大比拼
查看>>
Spring Boot入门===Hello World
查看>>
spring boot应用启动原理分析
查看>>
使用spring的好处
查看>>
微服务:分解应用以实现可部署性和可扩展性
查看>>
tcp_timestamps tcp_tw_recycle引起的服务器连接不上问题
查看>>
windows下ES和head插件的安装
查看>>
RAP一种更高效的前后端接口对接解决方案
查看>>
ELK(ElasticSearch, Logstash, Kibana)搭建实时日志分析平台
查看>>
ELK搭建教程(全过程)
查看>>
maven私服搭建使用
查看>>
Netty学习路线总结
查看>>
基于mybatis拦截器实现数据权限
查看>>
分布式文件系统FastDFS详解
查看>>
centos7上rabbitmq搭建
查看>>