검지offer34: 두 갈래 나무 중 어느 값의 경로
1626 단어 검지offer
제목 설명
두 갈래 트리와 정수를 입력하고 두 갈래 트리의 결점 값과 정수를 입력하기 위한 모든 경로를 출력합니다.경로는 나무의 뿌리 결점에서 시작하여 잎 결점까지 내려가는 결점으로 경로를 형성합니다.
class TreeNode:
def __init__(self,x):
self.val=x
self.left=None
self.right=None
class Solution:
def __init__(self):
self.onepath=[]
self.patharray=[]
def FindPath_1(self,root,expectnumber):
if root is None:
return []
self.onepath.append(root.val)
expectnumber-=root.val
if expectnumber==0 and not root.left and not root.right:
self.patharray.append(self.onepath[:])
elif expectnumber>0:
self.FindPath_1(root.left,expectnumber)
self.FindPath_1(root.right,expectnumber)
self.onepath.pop()
return self.patharray
def FindPath_2(self, root, expectNumber):
# write code here
if not root:
return []
if root and not root.left and not root.right and root.val==expectNumber:
return [[root.val]]
res = []
left = self.FindPath(root.left,expectNumber-root.val)
print(left)
right = self.FindPath(root.right,expectNumber-root.val)
print(right)
for i in left+right:
res.append([root.val]+i)
return res
pNode1=TreeNode(10)
pNode2=TreeNode(5)
pNode3=TreeNode(12)
pNode4=TreeNode(4)
pNode5=TreeNode(7)
pNode1.left=pNode2
pNode1.right=pNode3
pNode2.left=pNode4
pNode2.right=pNode5
s=Solution()
s.FindPath_1(pNode1,22)
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
20200326 - 검지offer 면접문제 27: 두 갈래 나무의 거울이솔 위 안에 28문제의 답안이 있는데 어떻게 꼬치는지 모르겠다.간단해....
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.