給定乙個二叉樹,返回所有從根節點到葉子節點的路徑。
說明: 葉子節點是指沒有子節點的節點。
示例:
輸入:python31/ \
2 3
\ 5
輸出: ["1->2->5", "1->3"]
解釋: 所有根節點到葉子節點的路徑為: 1->2->5, 1->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 binarytreepaths(self, root):
""":type root: treenode
:rtype: list[str]
"""if not root:#為空,直接返回
return
res=
#temp=''
def recursive(root,temp=''):
#global temp
temp+=str(root.val)
if not root.left and not root.right:#左右子樹皆為空時
temp+='->'
if root.left:
recursive(root.left,temp)
if root.right:
recursive(root.right,temp)
recursive(root)#呼叫遞迴
陣列拆分,leetcode刷題記錄 python
給定長度為 2n 的陣列,你的任務是將這些數分成 n 對,例如 a1,b1 a2,b2 an,bn 使得從1 到 n 的 min ai,bi 總和最大。輸入 1,4,3,2 輸出 4 解釋 n 等於 2,最大總和為 4 min 1,2 min 3,4 class solution def array...
Leetcode滑動視窗四題小結(Python)
這種型別的題就是模板題,以後套模板就行了。需要注意的幾個地方在注釋中給出。3.無重複字元的最長子串 中等題點評 這個題過於簡單,以至於模板整體結構都被改掉了,想看模板的建議從下面開始看。class solution def lengthoflongestsubstring self,s str in...
leetcode 搜尋旋轉排序陣列 python3
假設按照公升序排序的陣列在預先未知的某個點上進行了旋轉。例如,陣列 0,1,2,4,5,6,7 可能變為 4,5,6,7,0,1,2 搜尋乙個給定的目標值,如果陣列中存在這個目標值,則返回它的索引,否則返回 1 你可以假設陣列中不存在重複的元素。你的演算法時間複雜度必須是 o log n 級別。示例...