原创 【LeetCode】104. Maximum Depth of Binary Tree 解題報告(Python)

題目分析: 給定一個二叉樹,找出其最大深度。二叉樹的深度爲根節點到最遠葉子節點的最長路徑上的節點數。說明: 葉子節點是指沒有子節點的節點。 示例:給定二叉樹 [3,9,20,null,null,15,7], 返回它的最大深度 3

原创 【LeetCode】105. Construct Binary Tree from Preorder and Inorder Traversal 解題報告(Python)

題目分析: 根據一棵樹的前序遍歷與中序遍歷構造二叉樹。注意:你可以假設樹中沒有重複的元素。 例如,給出:前序遍歷 preorder = [3,9,20,15,7]、中序遍歷 inorder = [9,3,15,20,7]。返回如下

原创 【LeetCode】106. Construct Binary Tree from Inorder and Postorder Traversal 解題報告(Python)

題目分析: 根據一棵樹的中序遍歷與後序遍歷構造二叉樹。注意:你可以假設樹中沒有重複的元素。 例如,給出中序遍歷 inorder = [9,3,15,20,7],後序遍歷 postorder = [9,15,7,20,3]。返回如下

原创 【LeetCode】112. Path Sum 解題報告(Python)

題目分析: 給定一個二叉樹和一個目標和,判斷該樹中是否存在根節點到葉子節點的路徑,這條路徑上所有節點值相加等於目標和。說明: 葉子節點是指沒有子節點的節點。 示例: 給定如下二叉樹,以及目標和 sum = 22,返回 true,

原创 【LeetCode】103. Binary Tree Zigzag Level Order Traversal 解題報告(Python)

題目分析: 給定一個二叉樹,返回其節點值的鋸齒形層次遍歷。(即先從左往右,再從右往左進行下一層遍歷,以此類推,層與層之間交替進行)。 例如: 給定二叉樹 [3,9,20,null,null,15,7], 返回鋸齒形層次遍歷如下:

原创 【LeetCode】102. Binary Tree Level Order Traversal 解題報告(Python)

題目分析: 給定一個二叉樹,返回其按層次遍歷的節點值。 (即逐層地,從左到右訪問所有節點)。例如: 給定二叉樹: [3,9,20,null,null,15,7], 返回其層次遍歷結果: [[3],[9,20],[15,7]] 解

原创 Deepin旋轉屏幕後黑屏解決方案

手賤點了Deepin的旋轉屏幕,誰知道我的電腦直接黑屏了,(用另一臺筆記本試了試,它是正常的)也就是說我的電腦並不適配這個功能,那就想辦法還原吧。 網上大致又三種方法:命令行 xrandr -o normal,修改配置文件"Rotat

原创 【LeetCode】101. Symmetric Tree 解題報告(Python)

題目分析: 給定一個二叉樹,檢查它是否是鏡像對稱的。 例如,二叉樹 [1,2,2,3,4,4,3] 是對稱的。 但是下面這個 [1,2,2,null,3,null,3] 則不是鏡像對稱的: 解題思路: 這一題的本質還是遍歷,對於樹

原创 【LeetCode】99. Recover Binary Search Tree 解題報告(Python)

題目分析: 二叉搜索樹中的兩個節點被錯誤地交換。請在不改變其結構的情況下,恢復這棵樹。 示例 1: 解題思路: 第一種:中序遍歷將數值取出來,然後排序,然後再插入進入,使用的空間複雜度是O(n),見提交代碼1。 第二種:使用指針找到

原创 【LeetCode】100. Same Tree 解題報告(Python)

題目分析: 給定兩個二叉樹,編寫一個函數來檢驗它們是否相同。如果兩個樹在結構上相同,並且節點具有相同的值,則認爲它們是相同的。 示例 1: 輸入: 輸出: true 示例 2: 輸入: 輸出: false 解題思路: 這一題的本質

原创 【LeetCode】98. Validate Binary Search Tree 解題報告(Python)

題目分析: 給定一個二叉樹,判斷其是否是一個有效的二叉搜索樹。 假設一個二叉搜索樹具有如下特徵: 節點的左子樹只包含小於當前節點的數。 節點的右子樹只包含大於當前節點的數。 所有左子樹和右子樹自身必須也是二叉搜索樹。 示例 1: