求排序二叉树中间节点

来源:互联网 发布:好的记账软件 编辑:程序博客网 时间:2024/05/28 22:08

给定一棵排序二叉树,求出值大小居于中间位置的节点。

使用两个指针p1和p2,p1指向树的最小节点,p2指向树的最大节点

p1在树上做前序遍历,p2在树上做后续遍历,每次p1和p2都移动一步,这样,最终或者p1与p2重合(树的节点数为奇数个),或者p1与p2称为父子关系(树的节点数为偶数个),此时我们便找到中间节点。

原创粉丝点击