二叉树遍历_常数空间

来源:互联网 发布:淘宝耐克旗舰店是哪个 编辑:程序博客网 时间:2024/04/28 22:30

昨天看到一个帖子,询问二叉树遍历问题,还不错!贴来:

 

题目:

遍历n个节点的二叉树 (每个节点有parent, left, right 信息 ) 要求: 
1)不可以修改二叉树,即便是临时的。 
2)时间 O(n) 
3) 除了二叉树本身,只使用常数个空间。( 常数不依赖n ) 

 

 

My Answer:

首先这个题目,肯定不能递归,或者用队列什么的,否则空间不满足要求, 

因为有pare信息,所以,在遍历时,只要记录访问当前节点时,上一次访问的地方,就可以了: 

简单给个代码,简单样例通过,但没有充分测试: 


/