#100. 相同的樹
給定兩個二叉樹,編寫乙個函式來檢驗它們是否相同。
如果兩個樹在結構上相同,並且節點具有相同的值,則認為它們是相同的。
示例 1:
示例 2:
示例 3:
# definition for a binary tree node.
# class treenode:
# def __init__(self, x):
# self.val = x
# self.left = none
# self.right = none
class
solution
:def
issametree
(self, p: treenode, q: treenode)
->
bool
:return p.val == q.val and
all(
map(self.issametree,
(p.left, p.right)
,(q.left, q.right)))
if p and q else p is q
#101. 對稱二叉樹給定乙個二叉樹,檢查它是否是映象對稱的。
例如,二叉樹 [1,2,2,3,4,4,3] 是對稱的。
但是下面這個 [1,2,2,null,3,null,3] 則不是映象對稱的:
# definition for a binary tree node.
# class treenode:
# def __init__(self, x):
# self.val = x
# self.left = none
# self.right = none
class
solution
:def
issymmetric
(self, root: treenode)
->
bool:if
not root:
return
true
return self.symmetric(root.left, root.right)
defsymmetric
(self, l1, l2):if
not l1 or
not l2:
ifnot l1 and
not l2:
return
true
else
:return
false
if l1.val == l2.val:
return self.symmetric(l1.left, l2.right)
and self.symmetric(l1.right, l2.left)
else
:return
false
#104. 二叉樹的最大深度給定乙個二叉樹,找出其最大深度,二叉樹的深度為根節點到最遠葉子節點的最長路徑上的節點數。葉子節點是指沒有子節點的節點。
示例:給定二叉樹 [3,9,20,null,null,15,7],
返回它的最大深度 3 。
# definition for a binary tree node.
# class treenode:
# def __init__(self, x):
# self.val = x
# self.left = none
# self.right = none
class
solution
:def
maxdepth
(self, root: treenode)
->
int:
return1+
max(
map(self.maxdepth,
(root.left, root.right)))
if root else
0
Leetcode 3題目解答
leetcode 3題目解答 乙個字串,要得到連續各個元素都不同的最長子串長度。該函式返回乙個maxlen即最長子串的長度,用乙個hashmap存放字母以及其對應下標,利用for迴圈裡的i遍歷該string,則對於每個字母,有以下兩種情況 1 若當前字母不在hashmap中則放入,用乙個len來記錄...
leetcode 3 三數之和
給定乙個包含 n 個整數的陣列 nums,判斷 nums 中是否存在三個元素 a,b,c 使得 a b c 0 找出所有滿足條件且不重複的三元組。注意 答案中不可以包含重複的三元組。示例 給定陣列 nums 1,0,1,2,1,4 滿足要求的三元組集合為 1,0,1 1,1,2 class solu...
leetcode 3三數之和
給定乙個包含 n 個整數的陣列 nums,判斷 nums 中是否存在三個元素 a,b,c 使得 a b c 0 找出所有滿足條件且不重複的三元組。注意 答案中不可以包含重複的三元組。示例 給定陣列 nums 1,0,1,2,1,4 滿足要求的三元組集合為 1,0,1 1,1,2 如下 class s...