给定一棵排序二叉树,求出值大小居于中间位置的节点。
使用两个指针p1和p2,p1指向树的最小节点,p2指向树的最大节点
p1在树上做前序遍历,p2在树上做后续遍历,每次p1和p2都移动一步,这样,最终或者p1与p2重合(树的节点数为奇数个),或者p1与p2称为父子关系(树的节点数为偶数个),此时我们便找到中间节点。
给定一棵排序二叉树,求出值大小居于中间位置的节点。
使用两个指针p1和p2,p1指向树的最小节点,p2指向树的最大节点
p1在树上做前序遍历,p2在树上做后续遍历,每次p1和p2都移动一步,这样,最终或者p1与p2重合(树的节点数为奇数个),或者p1与p2称为父子关系(树的节点数为偶数个),此时我们便找到中间节点。