項目場景:
給你二叉樹的根節點?root
?,返回它節點值的?前序?遍歷。
示例 1:
輸入:root = [1,null,2,3]
輸出:[1,2,3]
解釋:
示例 2:
輸入:root = [1,2,3,4,5,null,8,null,null,6,7,9]
輸出:[1,2,4,5,6,7,3,8,9]
解釋:
示例 3:
輸入:root = []
輸出:[]
示例 4:
輸入:root = [1]
輸出:[1]
提示:
- 樹中節點數目在范圍?
[0, 100]
?內 -100 <= Node.val <= 100
問題描述
? ? ? ? 二叉樹的遍歷對于理解數據結構樹具有非常重要的意義,本篇文章面向初學數據結構的同學講解二叉樹的前序遍歷。二叉樹的前序遍歷,即對于每一個節點,先訪問根節點,再訪問左節點,最后訪問右節點。以示例一為實例,先訪問根節點1,再訪問根點1的左節點,1的左節點為空,則跳過,進而訪問節點1的右節點2,對于節點2先訪問根節點2,進而訪問其左節點3,進而訪問節點2的右節點,右節點為空,則跳過,所有節點都經遍歷,那么遍歷結束。整個過程中遍歷得到的節點值放到一個列表中即可。
# 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 preorderTraversal(self, root: Optional[TreeNode]) -> List[int]:def dfs(root:TreeNode):if not root:##節點為空返回returnres.append(root.val)##遞歸遍歷根節點dfs(root.left)##遞歸遍歷左節點dfs(root.right)##遞歸遍歷右節點res=[]dfs(root)return res
????????代碼提交情況。
?????????以上為本篇文章的全部內容,感謝你抽出寶貴的時間閱讀這篇文章。如果你有任何疑問或建議,歡迎在評論區留言,我們一起交流進步。愿你的代碼之路越走越順,生活充滿陽光!??????????????