Maximum Depth of Binary Tree
質問する
に答える
再帰的に最後葉に到達すると、値が保存されます.# Definition for a binary tree node.
# class TreeNode:
# def __init__(self, val=0, left=None, right=None):
# self.val = val
# self.left = left
# self.right = right
class Solution:
def maxDepth(self, root: Optional[TreeNode]) -> int:
global maxDepth
if root:
maxDepth = 1
solution(root, 1)
return maxDepth
else:
return 0
def solution(thisNode, depth):
global maxDepth
if thisNode.left is None and thisNode.right is None:
maxDepth = max(maxDepth, depth)
return
if thisNode.left:
solution(thisNode.left, depth+1)
if thisNode.right:
solution(thisNode.right, depth+1)
結果
遅いけど成功…!
stackでdfsを作るのはもっと速いですか...でも面倒くさい
Reference
この問題について(Maximum Depth of Binary Tree), 我々は、より多くの情報をここで見つけました
https://velog.io/@twinklesu914/Maximum-Depth-of-Binary-Tree
テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol
# Definition for a binary tree node.
# class TreeNode:
# def __init__(self, val=0, left=None, right=None):
# self.val = val
# self.left = left
# self.right = right
class Solution:
def maxDepth(self, root: Optional[TreeNode]) -> int:
global maxDepth
if root:
maxDepth = 1
solution(root, 1)
return maxDepth
else:
return 0
def solution(thisNode, depth):
global maxDepth
if thisNode.left is None and thisNode.right is None:
maxDepth = max(maxDepth, depth)
return
if thisNode.left:
solution(thisNode.left, depth+1)
if thisNode.right:
solution(thisNode.right, depth+1)
遅いけど成功…!
stackでdfsを作るのはもっと速いですか...でも面倒くさい
Reference
この問題について(Maximum Depth of Binary Tree), 我々は、より多くの情報をここで見つけました https://velog.io/@twinklesu914/Maximum-Depth-of-Binary-Treeテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol