循环
class Solution:
def KthNode(self, pRoot, k):
index = 0
stack = []
while stack or pRoot:
while pRoot:
stack.append(pRoot)
pRoot = pRoot.left
pRoot = stack.pop()
index += 1
if index == k:
return pRoot
pRoot = pRoot.right
递归
class Solution:
# 返回对应节点TreeNode
index = 0
def KthNode(self, pRoot, k):
# write code here
if pRoot is not None:
node = self.KthNode(pRoot.left,k)
if node is not None:
return node
self.index += 1
if self.index == k:
return pRoot
node = self.KthNode(pRoot.right,k)
if node is not None:
return node
return None