题目
分析
分两种情况讨论
- 1,如果当前节点有右子节点,那么找到右子节点下的最左节点
- 2,如果当前节点没有右子节点,那么向上递归寻找 pNode.next.left = pNode的形式 返回pNode,没找这种形式返回None
python代码
class Solution:
def GetNext(self, pNode):
# write code here
if not pNode: return None
if pNode.right:
pNode=pNode.right
while pNode.left:
pNode = pNode.left
return pNode
while pNode:
if pNode.next:
if pNode.next.left ==pNode:
return pNode.next
pNode = pNode.next
return pNode