目錄
一、題目內容
二、解題思路
三、**
給定乙個二叉樹,返回所有從根節點到葉子節點的路徑。說明: 葉子節點是指沒有子節點的節點。
示例:回溯+dfs,簡單易懂輸入:
1
/ \
2 3
\5
輸出: ["1->2->5", "1->3"]
解釋: 所有根節點到葉子節點的路徑為: 1->2->5, 1->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 binarytreepaths(self, root: treenode):
paths =
if root is none:
return
def dfs(root, path):
if root.left is none and root.right is none:
return
if root.left is not none:
org_path = path
path += "->" + str(root.left.val)
dfs(root.left, path)
path = org_path
if root.right is not none:
org_path = path
path += "->" + str(root.right.val)
dfs(root.right, path)
path = org_path
dfs(root, str(root.val))
return paths
if __name__ == '__main__':
root = treenode(1)
root.left = treenode(2)
root.right = treenode(3)
root.left.left = treenode(5)
s = solution()
ans = s.binarytreepaths(root=root)
print(ans)
LeetCode257 二叉樹的所有路徑
好多天沒寫演算法了,好多天也不更了。今天開始繼續啊,加油!先來乙個簡單的二叉樹練練手哈 給定乙個二叉樹,返回從根節點到葉節點的所有路徑。例如,給定以下二叉樹 1 2 3 5所有根到葉路徑是 1 2 5 1 3 二叉樹先序遍歷一下,遞迴把節點值挨個加入就好了 definition for a bina...
leetcode 257 二叉樹的所有路徑
給定乙個二叉樹,返回所有從根節點到葉子節點的路徑。說明 葉子節點是指沒有子節點的節點。示例 輸入 1 2 3 5 輸出 1 2 5 1 3 解釋 所有根節點到葉子節點的路徑為 1 2 5,1 3 definition for a binary tree node.struct treenode cl...
Leetcode 257 二叉樹的所有路徑
給定乙個二叉樹,返回所有從根節點到葉子節點的路徑。說明 葉子節點是指沒有子節點的節點。示例 輸入 1 2 3 5 輸出 1 2 5 1 3 解釋 所有根節點到葉子節點的路徑為 1 2 5,1 3首先要寫一下我自己的錯誤的思路 利用回溯,到了葉子結點後將當前遍歷到的一位陣列加入到要返回的二維陣列中,當...