程序员面试金典 - 面试题 04.06. 后继者(循环中序遍历)
1. 题目
设计一个算法,找出二叉搜索树中指定节点的“下一个”节点(也即中序后继)。
如果指定节点没有对应的“下一个”节点,则返回null。
示例 1:
输入: root = [2,1,3], p = 12/ \
1 3输出: 2示例 2:
输入: root = [5,3,6,2,4,null,null,1], p = 65/ \3 6/ \2 4/
1输出: null
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/successor-lcci
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
2. 解题
- 循环写法,中序遍历即可
class Solution {public:TreeNode* inorderSuccessor(TreeNode* root, TreeNode* p) {if(!root || !p)return NULL;stack<TreeNode*> stk;TreeNode *tp;bool found = false;while(root || !stk.empty()){while(root){stk.push(root);root = root->left;}tp = stk.top();stk.pop();if(found)return tp;if(tp == p)found = true;root = tp->right;}return NULL;}
};
程序员面试金典 - 面试题 04.06. 后继者(循环中序遍历)相关推荐
- 程序员面试金典面试题 01.06. 字符串压缩
前言 本系列文章为<程序员面试金典>刷题笔记. 题目位置:字符串压缩 题集:程序员面试金典 题目 字符串压缩.利用字符重复出现的次数,编写一种方法,实现基本的字符串压缩功能.比如,字符串a ...
- 程序员面试金典 - 面试题 17.06. 2出现的次数(找递推规律)
1. 题目 编写一个方法,计算从 0 到 n (含 n) 中数字 2 出现的次数. 示例: 输入: 25 输出: 9 解释: (2, 12, 20, 21, 22, 23, 24, 25)(注意 22 ...
- 程序员面试金典 - 面试题 04.09. 二叉搜索树序列(双端队列+回溯)**
1. 题目 从左向右遍历一个数组,通过不断将其中的元素插入树中可以逐步地生成一棵二叉搜索树. 给定一个由不同节点组成的二叉树,输出所有可能生成此树的数组. 示例: 给定如下二叉树2/ \1 3 返回: ...
- 程序员面试金典 - 面试题 16.06. 最小差(排序+双指针)
1. 题目 给定两个整数数组a和b,计算具有最小差绝对值的一对数值(每个数组中取一个值),并返回该对数值的差 示例: 输入:{1, 3, 15, 11, 2}, {23, 127, 235, 19, ...
- 程序员面试金典 - 面试题 04.12. 求和路径(二叉树递归)
1. 题目 给定一棵二叉树,其中每个节点都含有一个整数数值(该值或正或负). 设计一个算法,打印节点数值总和等于某个给定值的所有路径的数量. 注意,路径不一定非得从二叉树的根节点或叶节点开始或结束,但 ...
- 程序员面试金典 - 面试题 04.10. 检查子树(双重递归)
1. 题目 检查子树.你有两棵非常大的二叉树:T1,有几万个节点:T2,有几万个节点. 设计一个算法,判断 T2 是否为 T1 的子树. 如果 T1 有这么一个节点 n,其子树与 T2 一模一样,则 ...
- 程序员面试金典 - 面试题 05.06. 整数转换(位运算)
1. 题目 整数转换.编写一个函数,确定需要改变几个位才能将整数A转成整数B. 示例1:输入:A = 29 (或者0b11101), B = 15(或者0b01111)输出:2示例2:输入:A = 1 ...
- 程序员面试金典 - 面试题 04.05. 合法二叉搜索树(中序遍历)
1. 题目 实现一个函数,检查一棵二叉树是否为二叉搜索树. 示例 1: 输入:2/ \1 3 输出: true示例 2: 输入:5/ \1 4/ \3 6 输出: false 解释: 输入为: [5, ...
- 程序员面试金典 - 面试题 04.04. 检查平衡性(二叉树高度)
1. 题目 实现一个函数,检查二叉树是否平衡.在这个问题中,平衡树的定义如下:任意一个节点,其两棵子树的高度差不超过 1. 示例 1: 给定二叉树 [3,9,20,null,null,15,7]3/ ...
最新文章
- windows node.js 安装
- 三国志战略版360区S4服务器合并信息,三国志战略版S2赛季合区须知,季转服功能介绍...
- python socket传输图片_python使用socket传输图片视频等文件的实现方式
- c语言自定义一个函数求商和余数,c – 如何在一个步骤中获得商和余数?
- 判断大小_美人计 | 学会这招大小骨架判断法,我知道自己不是胖了
- leetcode 53 python 动态规划
- 2016.01.18 UILabel
- #219. 【NOI2016】优秀的拆分
- 常用的SEO工具都有哪些呢?5个SEO必备优化工具推荐
- 大数据软件在高校领域的应用探索—智慧高校解决方案分享
- 2020计算机二级office激活码,2020计算机二级office v3.5.2
- ONL/Debian 和 Ubuntu 版本的对应关系
- 聊聊我的2021,总结与展望
- MapGIS名词解释
- 手机端 js禁止页面滚动
- 电路维修知识-可控硅
- python教程57--使用D-tale做透视表并生成图形
- Visitor(访问者)设计模式
- python websocket 断线自动重连
- 也谈ibm aix jfs2