剑指offer:二叉树的下一个结点
来源:互联网 发布:点阵字符软件 编辑:程序博客网 时间:2024/05/01 15:47
题目描述
给定一个二叉树和其中的一个结点,请找出中序遍历顺序的下一个结点并且返回。注意,树中的结点不仅包含左右子结点,同时包含指向父结点的指针。
using namespace std;/*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; } TreeLinkNode *nextNode = NULL; if (pNode->right){ TreeLinkNode* rightNode = pNode->right; while (rightNode->left){ rightNode = rightNode->left; } nextNode = rightNode; } else if (pNode->next){ TreeLinkNode* pCur = pNode; TreeLinkNode* parent = pCur->next; //根节点的父节点为NULL while (parent && pCur == parent->right){ pCur = parent; parent = parent->next; } nextNode = parent; } return nextNode; }};
0 0
- 剑指offer--二叉树的下一个结点
- 《剑指offer》二叉树的下一个结点
- 《剑指offer》-- 二叉树的下一个结点
- 剑指offer:二叉树的下一个结点
- 剑指offer:二叉树的下一个结点
- [剑指offer]二叉树的下一个结点
- 剑指offer-二叉树的下一个结点
- 《剑指offer》二叉树的下一个结点
- 剑指offer: 二叉树的下一个结点
- 剑指offer 二叉树的下一个结点
- 剑指offer-二叉树的下一个结点
- 【剑指offer】二叉树的下一个结点
- 剑指offer:二叉树的下一个结点
- 剑指offer--二叉树的下一个结点
- 剑指offer:二叉树的下一个结点
- 剑指offer:二叉树的下一个结点
- 剑指offer:二叉树的下一个结点
- 剑指offer 二叉树的下一个结点
- tomcat不能自动解压war解决方法;
- XmlBeanFactory过期解决
- 第3课:SparkStreaming 透彻理解三板斧之三:解密SparkStreaming运行机制和架构进阶之Job和容错
- Java对已有的文件续写操作FileWriter
- ICMP(网络控制信息协议 internet control message protocol)
- 剑指offer:二叉树的下一个结点
- Leetcode - Reverse Bits
- java同步方法锁对象
- linux平台上不同类型的压缩文件的压缩与解压
- 对Android中“回调”的理解
- Myeclipse2014 为工程添加JQuery提示
- hdu1391Number Steps
- Android开发设置EditText不获得焦点
- 最小二乘法和主成分分析的比较 matlab 儿子的papa