二叉树 给定一个节点,求中序遍历下一个节点
2016-05-09 19:12
441 查看
题目描述
给定一个二叉树和其中的一个结点,请找出中序遍历顺序的下一个结点并且返回。注意,树中的结点不仅包含左右子结点,同时包含指向父结点的指针。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->right){
pNode=pNode->right;
while(pNode->left) pNode=pNode->left;
return pNode;
}
while(pNode->next)
{
if(pNode->next->left==pNode) return pNode->next;
pNode=pNode->next;
}
return NULL;
}
};
相关文章推荐
- 哈夫曼编码
- mysql存储过程批量删除数据
- Xcode 7.3 release 编译下出错解决办法
- Kibana的安装与调试
- 46. Permutations
- Ligerui树操作
- 通过反射获取成员变量并使用
- 错误1500。另一个程序正在进行。在继续此安装之前您必须完成另外安装。
- Android audio HAL详解(一)
- 数值的整数次方――11
- 打赏功能的实现
- 项目中的小问题大麻烦
- django简明操作(自强学堂)
- TLB
- PAT乙级—1026. 程序运行时间(15)-native
- 云计算平台简介(App Engine)
- matlab文件数据处理
- ubuntu中安装iso文件
- nexus-2.13.0-01.war
- Notification通知的详解