leetcode250.집계 동수 서브트리
1228 단어 leetcode
1. 제목 설명
두 갈래 나무를 정해서 이 두 갈래 나무의 수치가 같은 하위 나무의 개수를 통계한다.
동수 트리는 이 트리의 모든 노드가 같은 수치를 가지고 있다는 것을 가리킨다.
예:
입력: root = [5,1,5,5,null,5]
5 /\ 1 5 /\ \ 5 5 5
2. 문제풀이 사고방식
두 갈래 나무의 뒷순서를 따라 좌우 나무의 값이 현재 나무 뿌리 노드 값과 같는지 판단하고 결과를 이전 층으로 되돌려줍니다
3. 코드 구현 # Definition for a binary tree node.
# class TreeNode(object):
# def __init__(self, x):
# self.val = x
# self.left = None
# self.right = None
class Solution(object):
def __init__(self):
self.count = 0
def dfs(self, root):
if not root:
return True
l = self.dfs(root.left)
r = self.dfs(root.right)
cur = True
if root.left and root.val != root.left.val:
cur = False
if root.right and root.val != root.right.val:
cur = False
if l and r and cur:
self.count += 1
return l and r and cur
def countUnivalSubtrees(self, root):
"""
:type root: TreeNode
:rtype: int
"""
self.dfs(root)
return self.count
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
0부터 시작하는 LeetCode Day8 「1302. Deepest Leaves Sum」
해외에서는 엔지니어의 면접에 있어서 코딩 테스트라고 하는 것이 행해지는 것 같고, 많은 경우, 특정의 함수나 클래스를 주제에 따라 실장한다고 하는 것이 메인이다.
빠른 이야기가 본고장에서도 행해지고 있는 것 같은 코...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.
두 갈래 나무의 뒷순서를 따라 좌우 나무의 값이 현재 나무 뿌리 노드 값과 같는지 판단하고 결과를 이전 층으로 되돌려줍니다
3. 코드 구현 # Definition for a binary tree node.
# class TreeNode(object):
# def __init__(self, x):
# self.val = x
# self.left = None
# self.right = None
class Solution(object):
def __init__(self):
self.count = 0
def dfs(self, root):
if not root:
return True
l = self.dfs(root.left)
r = self.dfs(root.right)
cur = True
if root.left and root.val != root.left.val:
cur = False
if root.right and root.val != root.right.val:
cur = False
if l and r and cur:
self.count += 1
return l and r and cur
def countUnivalSubtrees(self, root):
"""
:type root: TreeNode
:rtype: int
"""
self.dfs(root)
return self.count
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
0부터 시작하는 LeetCode Day8 「1302. Deepest Leaves Sum」
해외에서는 엔지니어의 면접에 있어서 코딩 테스트라고 하는 것이 행해지는 것 같고, 많은 경우, 특정의 함수나 클래스를 주제에 따라 실장한다고 하는 것이 메인이다.
빠른 이야기가 본고장에서도 행해지고 있는 것 같은 코...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.
# Definition for a binary tree node.
# class TreeNode(object):
# def __init__(self, x):
# self.val = x
# self.left = None
# self.right = None
class Solution(object):
def __init__(self):
self.count = 0
def dfs(self, root):
if not root:
return True
l = self.dfs(root.left)
r = self.dfs(root.right)
cur = True
if root.left and root.val != root.left.val:
cur = False
if root.right and root.val != root.right.val:
cur = False
if l and r and cur:
self.count += 1
return l and r and cur
def countUnivalSubtrees(self, root):
"""
:type root: TreeNode
:rtype: int
"""
self.dfs(root)
return self.count
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
0부터 시작하는 LeetCode Day8 「1302. Deepest Leaves Sum」해외에서는 엔지니어의 면접에 있어서 코딩 테스트라고 하는 것이 행해지는 것 같고, 많은 경우, 특정의 함수나 클래스를 주제에 따라 실장한다고 하는 것이 메인이다. 빠른 이야기가 본고장에서도 행해지고 있는 것 같은 코...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.