Leetcode 257.두 갈래 나무의 모든 경로
제목 설명
두 갈래 나무를 정해서 뿌리 노드에서 잎 노드까지의 모든 경로를 되돌려줍니다.
설명: 잎 노드는 하위 노드가 없는 노드를 가리킨다.
예:
입력:
1/ 2 3 5
출력: ["1->2->5", "1->3"]
설명: 모든 뿌리 노드에서 잎 노드까지의 경로: 1->2->5, 1->3
출처: 리코드(LeetCode) 링크:https://leetcode-cn.com/problems/binary-tree-paths저작권은 인터넷 소유에 귀속된다.상업 전재는 정부에 연락하여 권한을 부여하고, 비상업 전재는 출처를 명시해 주십시오.
생각
분치법 + 귀속으로 해답을 구하고 본 문제의 귀속 출구는 잎결점을 포함하고 있음을 주의하십시오.
코드
# Definition for a binary tree node.
# class TreeNode:
# def __init__(self, x):
# self.val = x
# self.left = None
# self.right = None
class Solution:
# 1. : root
def binaryTreePaths(self, root: TreeNode) -> List[str]:
paths = []
# 3.
if root == None:
return paths
#
if root.left == None and root.right == None:
paths.append(str(root.val))
return paths
# 2.
leftPaths = self.binaryTreePaths(root.left)
rightPaths = self.binaryTreePaths(root.right)
#
for path in leftPaths:
paths.append(str(root.val) + '->' + path)
for path in rightPaths:
paths.append(str(root.val) + '->' + path)
return paths
END.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.