面试题 17.12. BiNode

二叉树的中序遍历是弱项,需要额外练习,特别是二叉搜索树的中序遍历,利用它是递增数列的性质;

通过一个pre来不断地修改节点指向,有左节点优先左节点,没有则右节点,pre指向的是当前节点在中序序列中的前一个节点

TreeNode *pre = nullptr;void biNode(TreeNode *cur)
{if (!cur)return;biNode(cur->left);if (pre == nullptr){pre = cur;}else{pre->right = cur;pre = cur;cur->left = nullptr;}biNode(cur->right);
}TreeNode *convertBiNode(TreeNode *root)
{if (!root)return root;TreeNode *newRoot = root;while (newRoot->left){newRoot = newRoot->left;}biNode(root);return newRoot;
}

Leetcode每日一题:面试题17.12 binode相关推荐

  1. 面试题 17.12. BiNode

    面试题 17.12. BiNode Ideas 可以看到示例的输出是有序的,对于BST来说,middle order traversal得到的就是一个有序列表,所以要拿它做文章. Code Pytho ...

  2. 【LeetCode每日一题】【2021/12/8】689. 三个无重叠子数组的最大和

    文章目录 689. 三个无重叠子数组的最大和 方法1:滑动窗口 689. 三个无重叠子数组的最大和 LeetCode: 689. 三个无重叠子数组的最大和 困难\color{#EF4743}{困难}困 ...

  3. leetcode —— 面试题 17.12. BiNode

    二叉树数据结构TreeNode可用来表示单向链表(其中left置空,right为下一个链表节点).实现一个方法,把二叉搜索树转换为单向链表,要求值的顺序保持不变,转换操作应是原址的,也就是在原始的二叉 ...

  4. 程序员面试金典 - 面试题 17.12. BiNode(BST中序遍历)

    1. 题目 二叉树数据结构TreeNode可用来表示单向链表(其中left置空,right为下一个链表节点). 实现一个方法,把二叉搜索树转换为单向链表,要求值的顺序保持不变,转换操作应是原址的,也就 ...

  5. leetcode每日一题--前缀树;前缀哈希;深搜;面试题 08.04. 幂集;648. 单词替换面试题 01.09. 字符串轮转;剑指 Offer II 062. 实现前缀树

    leetcode每日一题 ps:今天的每日一题没意思,简单的模拟,自己换一道 面试题 08.04. 幂集 幂集.编写一种方法,返回某集合的所有子集.集合中不包含重复的元素. 说明:解集不能包含重复的子 ...

  6. Leetcode每日一题——思路小记

    文章目录 LeetCode每日一题 golang T15 2020.6.12 三数之和,双指针的运用 T70 2020.6.13 斐波那契数列 T1014 2020.6.17 最佳观光:双指针,计算公 ...

  7. leetcode每日一题825. 适龄的朋友 快排+双指针

    本文目录 leetcode每日一题825. 适龄的朋友 快排+双指针 写在前面 题目 示例 提示 思路 代码实现 执行结果 写在后面 leetcode每日一题825. 适龄的朋友 快排+双指针 写在前 ...

  8. leetcode每日一题1609. 奇偶树 圣诞节你做奇偶数了没 BFS套模板一遍过

    本文目录 leetcode每日一题1609. 奇偶树 圣诞节你做奇偶数了没 BFS套模板一遍过~ 写在前面 题目 示例 提示 思路 代码实现 执行结果 写在最后 leetcode每日一题1609. 奇 ...

  9. LeetCode每日一题(题1028)

    题1028 前言 题目 思路 代码 错误 后记 前言 最近在刷LeetCode每日一题,每次做完之后总能有些收获,所以想着不如每天写个博客记录一下做的题目的解法以及自己写的时候问题出在哪里. 题目 从 ...

最新文章

  1. flash与php交互,flash与PHP的交互技巧
  2. Visual 2015创建新项,缺少ADO.NET 实体数据模型的解决方法
  3. boost::geometry::tuples用法的测试程序
  4. TypeScript 里的 class field
  5. 「权威发布」2019年大学生电子设计竞赛题目
  6. hibernate 数据源配置文件
  7. numpy 和tensorflow 中的乘法
  8. uboot源码——内核启动分析
  9. 风控扫盲:巴塞尔下的分池与量化风控岗
  10. python网络编程 交互式游戏设计——吹牛(RemoteBet)(无封帧)
  11. linux-LNMP一键安装Error: MySQL install failed. Error: PHP install failed
  12. 分享一下自己开发 kindle 电子书下载助手
  13. Fiori 磁贴配置
  14. 常用元器件的识别(转载)
  15. Pytorch 多线程 运行卡死
  16. 亲身经历在国企搞IT:自我总结500页“Java成长笔记”,谁说待国企就是养老!?
  17. 二十五个软件测试经典面试题,你确定不收藏一波?
  18. Android计步器的实现(1)
  19. java file.io的各种使用
  20. PHP Warning: ‘ vcruntime140.dll‘ 14.0 is not compatible with this PHP build linked with 14.16 in Unk

热门文章

  1. 第三章 寄存器(内存访问)
  2. 14-----表单输入绑定
  3. sql必知必会的数据初始化
  4. Win10 打开PLSql,其他软件卡到爆,原因CnPlugin_1.5.4插件的问题
  5. CentOS 7.3 关闭默认防火墙远程登录
  6. VS 2008的JavaScript代码提示功能 (学习老赵视频的笔记)
  7. SSM框架之多数据源配置
  8. JavaScript基础知识(三个判断、三个循环)
  9. hadoop eclipse 插件
  10. 如何使用SwitchyOmega.crx谷歌插件