昨天看到一个帖子,询问二叉树遍历问题,还不错!贴来:
题目:
遍历n个节点的二叉树 (每个节点有parent, left, right 信息 ) 要求:
1)不可以修改二叉树,即便是临时的。
2)时间 O(n)
3) 除了二叉树本身,只使用常数个空间。( 常数不依赖n )
My Answer:
首先这个题目,肯定不能递归,或者用队列什么的,否则空间不满足要求,
因为有pare信息,所以,在遍历时,只要记录访问当前节点时,上一次访问的地方,就可以了:
简单给个代码,简单样例通过,但没有充分测试:
/