国产亚洲精品福利在线无卡一,国产精久久一区二区三区,亚洲精品无码国模,精品久久久久久无码专区不卡

當(dāng)前位置: 首頁 > news >正文

做sns網(wǎng)站需要什么百度熱線電話

做sns網(wǎng)站需要什么,百度熱線電話,信用門戶網(wǎng)站建設(shè),網(wǎng)站建設(shè)公司哪好相關(guān)推薦 python coding with ChatGPT 打卡第12天| 二叉樹:理論基礎(chǔ) python coding with ChatGPT 打卡第13天| 二叉樹的深度優(yōu)先遍歷 python coding with ChatGPT 打卡第14天| 二叉樹的廣度優(yōu)先遍歷 python coding with ChatGPT 打卡第15天| 二叉樹:翻轉(zhuǎn)…

相關(guān)推薦
python coding with ChatGPT 打卡第12天| 二叉樹:理論基礎(chǔ)
python coding with ChatGPT 打卡第13天| 二叉樹的深度優(yōu)先遍歷
python coding with ChatGPT 打卡第14天| 二叉樹的廣度優(yōu)先遍歷
python coding with ChatGPT 打卡第15天| 二叉樹:翻轉(zhuǎn)二叉樹、對稱二叉樹
python coding with ChatGPT 打卡第16天| 二叉樹:完全二叉樹、平衡二叉樹、二叉樹的所有路徑、左葉子之和

文章目錄

  • 找樹左下角的值
    • Key Points
    • 相關(guān)題目
    • 視頻講解
    • 重點(diǎn)分析
  • 路徑總和
    • Key Points
    • 相關(guān)題目
    • 視頻講解
    • 重點(diǎn)分析

找樹左下角的值

Key Points

找出樹的最后一行的最左邊的值

相關(guān)題目

513. 找樹左下角的值

視頻講解

遞歸中帶著回溯

重點(diǎn)分析

方法一:層序遍歷

def findBottomLeftValue(root):queue_record = [root]res = root.valwhile queue_record:level_size = len(queue_record)for i in range(level_size):node = queue_record.pop(0)if i==0:res = node.valif node.left:queue_record.append(node.left)if node.right:queue_record.append(node.right)return res

方法二:層序遍歷簡潔版

class Solution(object):def findBottomLeftValue(self, root):if not root:return Nonequeue = [root]while queue:current = queue.pop(0)# 先右后左加入隊列,確保左邊的節(jié)點(diǎn)最后被處理,從而保留在current中if current.right:queue.append(current.right)if current.left:queue.append(current.left)# 循環(huán)結(jié)束時,current中存儲的是最后一層最左邊的節(jié)點(diǎn)return current.val

這段代碼使用了BFS來確保按層遍歷樹的節(jié)點(diǎn),并且通過在每層遍歷時記錄遍歷到的第一個節(jié)點(diǎn)值,最終找到了最后一行最左邊的值。請注意,這里故意先將右子節(jié)點(diǎn)加入隊列,然后加入左子節(jié)點(diǎn),是為了在處理每一層的節(jié)點(diǎn)時,最后處理左子節(jié)點(diǎn),但是對于尋找最后一行最左邊的值的目的而言,只需要記錄每一層第一次訪問的節(jié)點(diǎn)即可,因此實(shí)際上你可以按照正常的順序(先左后右)加入隊列,然后最后處理的節(jié)點(diǎn)即為所求。這樣的處理方式更直觀且易于理解。

方法三:遞歸法

class Solution:def findBottomLeftValue(self, root: TreeNode) -> int:self.max_depth = float('-inf')self.result = Noneself.traversal(root, 0)return self.resultdef traversal(self, node, depth):if not node.left and not node.right:if depth > self.max_depth:self.max_depth = depthself.result = node.valreturnif node.left:self.traversal(node.left, depth+1)if node.right:self.traversal(node.right, depth+1)

遞歸的另一種寫法,由ChatGPT提供
在這里插入圖片描述

路徑總和

Key Points

葉子節(jié)點(diǎn)是指沒有子節(jié)點(diǎn)的節(jié)點(diǎn)。

相關(guān)題目

112. 路徑總和
113. 路徑總和ii

視頻講解

路徑總和

重點(diǎn)分析

112
方法一:遞歸

def hasPathSum(root: TreeNode, targetSum: int) -> bool:if not root:return False# 更新目標(biāo)和targetSum -= root.val# 如果是葉子節(jié)點(diǎn),檢查目標(biāo)和是否為0if not root.left and not root.right:return targetSum == 0# 遞歸遍歷左右子節(jié)點(diǎn)return hasPathSum(root.left, targetSum) or hasPathSum(root.right, targetSum)

在這里插入圖片描述方法二:迭代法

def hasPathSum(root, targetSum):if not root:return Falsestack_record = [(root, root.val)]while stack_record:node, value = stack_record.pop()if not node.left and not node.right:if value == targetSum:return Trueelse:if node.right:stack_record.append((node.right, value+node.right.val))if node.left:stack_record.append((node.left, value + node.left.val))return False

113 方法一:遞歸法
在這里插入圖片描述

class Solution:def pathSum(self, root: TreeNode, targetSum: int) -> [[int]]:result = []self.dfs(root, targetSum, [], result)return resultdef dfs(self, node, targetSum, path, result):if not node:return# 添加當(dāng)前節(jié)點(diǎn)到路徑path.append(node.val)# 檢查是否是葉子節(jié)點(diǎn)且路徑總和等于目標(biāo)和if not node.left and not node.right and sum(path) == targetSum:result.append(list(path))else:# 遞歸遍歷左右子節(jié)點(diǎn)self.dfs(node.left, targetSum, path, result)self.dfs(node.right, targetSum, path, result)# 回溯前去除當(dāng)前節(jié)點(diǎn)path.pop()# 示例使用
# 假設(shè)有一個二叉樹和目標(biāo)和,可以創(chuàng)建TreeNode實(shí)例并調(diào)用Solution().pathSum(root, targetSum)來獲取結(jié)果

在這里插入圖片描述

方法二:迭代法

def pathSum(root, targetSum):if not root:return []stack_record = [(root, [root.val])]res = []while stack_record:node, value_list = stack_record.pop()if not node.left and not node.right:if sum(value_list) == targetSum:res.append(value_list)else:if node.right:stack_record.append((node.right, value_list+[node.right.val]))if node.left:stack_record.append((node.left, value_list + [node.left.val]))return res
http://m.aloenet.com.cn/news/42517.html

相關(guān)文章:

  • 網(wǎng)站建設(shè)技術(shù)哪個好seo管理系統(tǒng)
  • qt科技感ui界面sem優(yōu)化軟件哪家好
  • 石家莊做網(wǎng)站價格網(wǎng)站優(yōu)化的關(guān)鍵詞
  • 網(wǎng)站做流量怎么賺錢的培訓(xùn)后的收獲和感想
  • 濟(jì)南網(wǎng)站建設(shè)工作室網(wǎng)球排名即時最新排名
  • 有沒有做網(wǎng)站的聯(lián)系方式經(jīng)典營銷案例分析
  • 消費(fèi)返利系統(tǒng)網(wǎng)站建設(shè)廈門站長優(yōu)化工具
  • 做電商網(wǎng)站注意什么問題seo推廣代運(yùn)營
  • 建設(shè)信用卡銀行積分商城網(wǎng)站福清網(wǎng)絡(luò)營銷
  • 網(wǎng)站制作難點(diǎn)seo是做什么工作內(nèi)容
  • 網(wǎng)站設(shè)計流程電話站長工具網(wǎng)
  • 網(wǎng)站開發(fā)管理電工培訓(xùn)技術(shù)學(xué)校
  • 怎么建設(shè)自己網(wǎng)站企業(yè)宣傳推廣
  • 國內(nèi)房地產(chǎn)設(shè)計網(wǎng)站建設(shè)網(wǎng)站優(yōu)化公司開始上班了
  • 制作釣魚網(wǎng)站的費(fèi)用永久免費(fèi)跨境瀏覽app
  • 怎么接做網(wǎng)站的任務(wù)seo在線優(yōu)化技術(shù)
  • 廣州展廳設(shè)計公司排名廣州seo優(yōu)化推廣
  • 網(wǎng)站搜索框如何做國內(nèi)最好用的免費(fèi)建站平臺
  • 高端建筑鋁型材seo資料站
  • 做網(wǎng)站需要公司資質(zhì)嗎免費(fèi)創(chuàng)建自己的網(wǎng)站
  • 摩洛哥網(wǎng)站后綴網(wǎng)上電商平臺開發(fā)
  • 馬鞍山做網(wǎng)站公司百度搜索引擎入口官網(wǎng)
  • 備案網(wǎng)站地址qq推廣
  • 作圖網(wǎng)站做課程表紹興seo推廣公司
  • 網(wǎng)站的開發(fā)與維護(hù)品牌廣告文案
  • 建設(shè)網(wǎng)站用的軟件網(wǎng)絡(luò)推廣怎么收費(fèi)
  • 網(wǎng)站開發(fā)取名南寧排名seo公司
  • 學(xué)做面包的網(wǎng)站網(wǎng)站推廣公司排行榜
  • 在試用網(wǎng)站做推廣網(wǎng)站運(yùn)營
  • 貴陽手機(jī)網(wǎng)站建設(shè)青島網(wǎng)站建設(shè)制作