[剑指offer]面试题58:二叉树中的下一个结点
来源:互联网 发布:网络灯谜群会2015 编辑:程序博客网 时间:2024/06/05 08:24
给定一个二叉树和其中的一个结点,请找出中序遍历顺序的下一个结点并且返回。注意,树中的结点不仅包含左右子结点,同时包含指向父结点的指针。
/*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) { // 如果pNode为空,返回NULL if(pNode == NULL) return NULL; // pNext 存放返回结果 TreeLinkNode* pNext = NULL; // 如果右子树不为空,找到右子树的最左叶子 if(pNode->right != NULL){ TreeLinkNode* pRight = pNode->right; while(pRight->left != NULL) pRight = pRight->left; pNext = pRight; }else if(pNode->next != NULL){ TreeLinkNode* pCurrent = pNode; TreeLinkNode* pParent = pNode->next; while(pParent != NULL && pCurrent == pParent->right){ pCurrent = pParent; pParent = pParent->next; } pNext = pParent; } return pNext; }};
阅读全文
0 0
- [剑指offer]面试题58:二叉树中的下一个结点
- 剑指offer-面试题58:二叉树的下一个结点
- 剑指offer--面试题58:二叉树的下一个结点
- 剑指offer-面试题58-二叉树的下一个结点
- 剑指offer 面试题58 二叉树的下一个结点
- 【剑指Offer】面试题58:二叉树的下一个结点
- 剑指offer面试题[58]-二叉树的下一个结点
- 剑指offer面试题[58]-二叉树的下一个结点
- 剑指offer--面试题8:二叉树的下一个结点
- 《剑指Offer》学习笔记--面试题58:二叉树的下一个结点
- 【剑指Offer学习】【面试题58:二叉树的下一个结点】
- 剑指offer——面试题58:二叉树的下一个结点
- 面试题58:二叉树中的下一个结点
- 剑指Offer面试题58:二叉树的下一个节点
- 面试题58:二叉树的下一个结点
- 面试题58-二叉树的下一个结点
- 面试题58:二叉树的下一个结点
- 面试题58:二叉树的下一个结点
- 【转载】--同余定理
- zw版·全程图解Halcon控件安装(delphi2007版)
- 线性时间排序(计数排序、基数排序、桶排序)
- 项目管理idea+maven+git
- JavaScript中的继承详解
- [剑指offer]面试题58:二叉树中的下一个结点
- 论内存管理
- LeetCode 136. Single Number
- Faster R-CNN(~ RPN + Fast R-CNN)
- 基于express中间件 搭建小型服务器(随笔)
- MySQL_内、左右连接及外键
- 一个简单实用的分离器件锂电池充电电路
- Java源码分析之String
- 数兔子问题