使用两种方法实现。
方法一:中序遍历二叉树,记录指定节点,当遍历到下一个节点时返回
时间复杂度o(n)
方法二:
1)当指定节点有右子树时,返回其右子树的第一个中序遍历节点
2)当指定节点无右子树时,如果其是父节点的左节点,则返回其父节点
3)当指定节点无右子树,且是其父节点的右节点,则一直向上找父节点,当找到某个父节点是其父节点的左节点时返回
时间复杂度o(logn)
代码实现:
1 | class BinNode: |
使用两种方法实现。
方法一:中序遍历二叉树,记录指定节点,当遍历到下一个节点时返回
时间复杂度o(n)
方法二:
1)当指定节点有右子树时,返回其右子树的第一个中序遍历节点
2)当指定节点无右子树时,如果其是父节点的左节点,则返回其父节点
3)当指定节点无右子树,且是其父节点的右节点,则一直向上找父节点,当找到某个父节点是其父节点的左节点时返回
时间复杂度o(logn)
代码实现:
1 | class BinNode: |