[問題] 為什麼Function return一個class變成None已刪文
我寫了一個class和Function,想要回傳一個class。
class TreeNode:
def __init__(self, data=0):
self.data = data
self.left = None
self.right = None
def create(self, sequence, index):
if index >= len(sequence) or sequence[index] == None:
return None
else:
tempNode = TreeNode(sequence[index])
tempNode.left = self.create(sequence, 2*index+1)
tempNode.right = self.create(sequence, 2*index+2)
return tempNode
def lowest_common_ancester(treenode, sp, ep):
if sp > ep:
sp, ep = ep, sp
print(f"data: {treenode.data}, sp: {sp}, ep:{ep}")
if(sp <= treenode.data and treenode.data <= ep):
print(treenode)
return treenode
elif(ep <= treenode.data):
if(treenode.left != None):
lowest_common_ancester(treenode.left, sp, ep)
elif(treenode.data <= sp):
if(treenode.right != None):
lowest_common_ancester(treenode.right, sp, ep)
print(lowest_common_ancester(TreeNode(None).create([3,1,6,None,None,4,7],0),
4, 7))
但不知道為什麼目前print出來長這樣
data: 3, sp: 4, ep:7
data: 6, sp: 4, ep:7
<__main__.TreeNode object at 0x000001655FE54D60>
None
return回來再print出來就變成None了
我該如何解決?
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 111.250.80.154 (臺灣)
※ 文章網址: https://www.ptt.cc/bbs/Python/M.1610109576.A.BBE.html