剑指offer | 训练题56:二叉树下一个结点
来源:互联网 发布:业务流程图的软件 编辑:程序博客网 时间:2024/06/01 07:56
题目描述
给定一个二叉树和其中的一个结点,请找出中序遍历顺序的下一个结点并且返回。注意,树中的结点不仅包含左右子结点,同时包含指向父结点的指针。
思路
/*struct TreeLinkNode { int val; struct TreeLinkNode *left; struct TreeLinkNode *right; struct TreeLinkNode *next; TreeLinkNode(int x) :val(x), left(NULL), right(NULL), next(NULL) { }};*/class Solution {public: TreeLinkNode* GetNext(TreeLinkNode* pNode) { if(pNode == NULL) return NULL; if(pNode->right != NULL){ //如果有右子树,找右子树中的最左结点 pNode = pNode->right; while(pNode->left != NULL) pNode = pNode->left; return pNode; } while(pNode->next != NULL){ //没有右子树,就找当前结点是其父节点左孩子的节点 if(pNode->next->left == pNode) return pNode->next; pNode = pNode->next; } return NULL; //退到了根节点仍然没找到,说明该节点是最后一个节点,返回NULL }};
阅读全文
0 0
- 剑指offer | 训练题56:二叉树下一个结点
- 剑指offer--二叉树的下一个结点
- 《剑指offer》二叉树的下一个结点
- 《剑指offer》-- 二叉树的下一个结点
- 剑指offer:二叉树的下一个结点
- 剑指offer:二叉树的下一个结点
- [剑指offer]二叉树的下一个结点
- 剑指offer-二叉树的下一个结点
- 《剑指offer》二叉树的下一个结点
- 剑指offer: 二叉树的下一个结点
- 剑指offer 二叉树的下一个结点
- 剑指offer-二叉树的下一个结点
- 【剑指offer】二叉树的下一个结点
- 剑指offer:二叉树的下一个结点
- 剑指offer--二叉树的下一个结点
- 剑指offer:二叉树的下一个结点
- 剑指offer:二叉树的下一个结点
- 剑指offer:二叉树的下一个结点
- python基础(二)
- C语言的指针
- Linux中虚拟内存设置
- 数据结构复习——Brute-Force算法
- maven
- 剑指offer | 训练题56:二叉树下一个结点
- CodeVS1183 泥泞的道路 题解 【二分答案】【SPFA】
- jsp细节
- java中方法的详解与重载的概念
- python 内置的os模块将文件夹下所有图片名称加上指定字符
- Java实现URI参数签名算法,确保应用与REST服务器之间的安全通信,防止Secret Key盗用、数据篡改等恶意攻击行为
- Ubuntu安装网易云音乐
- 变量-类型推断
- Caffe下自个儿的数据训练和测试