面試150 對稱二叉樹

在這里插入圖片描述

思路

聯想遞歸三部曲:傳入參數、遍歷方式、返回什么。本題聯想到先序遍歷的方式,需要遍歷整顆二叉樹,最后返回的是一個布爾值。然后我們需要傳入的是左子樹和左子樹的節點,然后分別進行比較。

# 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 isSymmetric(self, root: Optional[TreeNode]) -> bool:def compare(left,right):if left==None and right==None:return Trueelif left==None and right!=None:return Falseelif left!=None and right==None:return Falseelif left.val!=right.val:return FalseLeft=compare(left.left,right.right)#比較左子樹的左孩子和右子樹的右孩子Right=compare(left.right,right.left)#比較左子樹的右孩子與右子樹的左孩子return Left and Rightif not root:return Truereturn compare(root.left,root.right)

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/pingmian/88521.shtml
繁體地址,請注明出處:http://hk.pswp.cn/pingmian/88521.shtml
英文地址,請注明出處:http://en.pswp.cn/pingmian/88521.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

多線程的區別和聯系

進程和線程的區別和聯系1.一個進程可以包含多個線程,不能夠沒有線程2.進程是系統資源分配的基本單位,線程是系統調度執行的基本單位3.同一個進程里的線程之間,共用同一份系統資源4.線程是當下實現并發編程的主流方式,通過多線程&a…

兩個文件夾自動同步

兩個文件夾自動同步,非常簡單,利用一些工具就可以輕松做到,設置完源和目標文件夾,點擊啟動就馬上可以兩個文件夾自動同步,對于一些有文件同步、文件災備需求的老登,用起來會非常順手,比如PanguF…

虛擬商品交易維權指南:數字經濟時代的消費者權益保護

首席數據官高鵬律師數字經濟團隊創作AI輔助在元宇宙、NFT、虛擬情緒產品等新興領域蓬勃發展的今天,虛擬商品交易已成為數字經濟的重要組成部分。從游戲皮膚、在線課程到數字藏品,消費者在享受虛擬商品便捷性的同時,也面臨著諸多法律風險。作為…

mysql 一條語句的執行流程

文章目錄一條查詢語句的執行流程連接器管理連接權限校驗分析器優化器采樣統計優化器選錯索引改正執行器查詢緩存存儲引擎一條update語句的執行流程redo logredo log buffer結構redo log日志類型寫入時機配置innodb_flush_log_at_trx_commitbinlogredo log和binlog 對比配置兩階…

【視頻觀看系統】- 需求分析

🎯 一、項目目標 構建一個功能完備的視頻觀看網站,用戶可以上傳、瀏覽、觀看視頻,并在觀看過程中實時發送/接收彈幕。系統具備良好的性能、可擴展性與用戶體驗,未來可逐步擴展為多媒體平臺。👤 二、用戶角色分析用戶類…

模型驅動的架構MDA的案例

在一個企業資源規劃(ERP)系統開發項目中,目標是為一家中型制造企業打造一套高效且可擴展的管理系統,涵蓋訂單處理、庫存管理等多個業務模塊。項目團隊采用了 MDA 的設計思想進行開發。?首先是業務需求分析與計算獨立模型&#xf…

第一次搭建數據庫

本文詳細介紹第一次搭建數據庫安裝和配置過程, 包括卸載舊版本、下載安裝、配置服務、環境變量等等 第一步下載mysql 在下載之前需要檢查電腦上有沒有安裝mysql, 如果有再安裝, 80%就會有問題 檢查方法: 電腦-右鍵找到管理-服務-在服務中找有沒有mysql服務若有請先 1.停止服務 …

洛谷題解 | UVA1485 Permutation Counting

目錄題目描述題目思路AC 代碼題目描述 https://onlinejudge.org/external/14/p1485.pdf 題目思路 dp。 定義 dpi,jdp_{i,j}dpi,j? 為前 iii 個數的排列中恰好有 jjj 個小于號的排列總數。 考慮將數字 iii 插入到前 i?1i-1i?1 個數的排列中不同的位置: 如果…

飛算科技:以原創技術賦能電商企業數字化轉型

在電商行業從流量競爭邁向精細化運營的當下,技術能力已成為決定企業生存與發展的核心要素。然而,高并發場景下的系統穩定性、個性化推薦算法的迭代效率、營銷活動的快速響應等挑戰,讓許多電商企業陷入“技術投入大、見效慢”的困境。作為國家…

人工智能自動化編程:傳統軟件開發vs AI驅動開發對比分析

人工智能自動化編程:傳統軟件開發vs AI驅動開發對比分析 🌟 嗨,我是IRpickstars! 🌌 總有一行代碼,能點亮萬千星辰。 🔍 在技術的宇宙中,我愿做永不停歇的探索者。 ? 用代碼丈量…

用java實現一個自定義基于logback的日志工具類

? 動態創建: 無需配置文件,通過代碼動態創建logback日志對象 ? Class對象支持: 使用LogUtil.getLogger(MyClass.class)的方式獲取日志 ? 日期格式文件: 自動生成info.%d{yyyy-MM-dd}.log格式的日志文件 ? 文件數量管理: 只保留最近3個文件,自動刪除歷…

面試現場:奇哥扮豬吃老虎,RocketMQ高級原理吊打面試官

“你了解RocketMQ的高級原理和源碼嗎?” 面試官推了推眼鏡,嘴角帶笑,眼神里透著一絲輕蔑。 奇哥笑而不語,開始表演。面試場景描寫 公司位于高樓林立的CBD,電梯直達28樓。面試室寬敞明亮,空氣中混著咖啡香與…

Django Nginx+uWSGI 安裝配置指南

Django Nginx+uWSGI 安裝配置指南 引言 Django 是一個高級的 Python Web 框架,用于快速開發和部署 Web 應用程序。Nginx 是一個高性能的 HTTP 和反向代理服務器,而 uWSGI 是一個 WSGI 服務器,用于處理 Python Web 應用。本文將詳細介紹如何在您的服務器上安裝和配置 Djang…

外設數據到昇騰310推理卡 之二dma_alloc_attrs

目錄 內核源碼及路徑 CONFIG_DMA_DECLARE_COHERENT DTS示例配置 dma_direct_alloc 特殊屬性快速路徑 (DMA_ATTR_NO_KERNEL_MAPPING) 主體流程 1. 內存分配核心 2. 地址轉換 3. 緩存一致性處理 映射 attrs不同屬性的cache處理 cache的標示(ARM64&#xff0…

Java 大視界:基于 Java 的大數據可視化在智慧城市能源消耗動態監測與優化決策中的應用(2025 實戰全景)

??摘要??在“雙碳”戰略深化落地的 2025 年,城市能源管理面臨 ??實時性??、??復雜性??、??可決策性?? 三重挑戰。本文提出基于 Java 技術棧的智慧能源管理平臺,融合 ??Flink 流處理引擎??、??Elasticsearch 實時檢索??、??ECh…

微信小程序控制空調之微信小程序篇

目錄 前言 下載微信開發者工具 一、項目簡述 核心功能 技術亮點 二、MQTT協議實現詳解 1. MQTT連接流程 2. 協議包結構實現 CONNECT包構建 PUBLISH包構建 三、核心功能實現 1. 智能重連機制 2. 溫度控制邏輯 3. 模式控制實現 四、調試系統實現 1. 調試信息收集…

spring boot 詳解以及原理

Spring Boot 是 Spring 框架的擴展,旨在簡化 Spring 應用的開發和部署。它通過自動配置和約定優于配置的原則,讓開發者能夠快速搭建獨立運行的、生產級別的 Spring 應用。以下是 Spring Boot 的詳細解析和工作原理: 一、Spring Boot 的核心特…

3.4 ASPICE的系統架構與設計過程

ASPICE(Automotive SPICE)在系統架構與設計過程中,強調了在汽車軟件開發中確保系統穩定性、可靠性和安全性的重要性。以下是ASPICE在系統架構與設計過程中的主要內容和步驟:系統架構設計準備階段:需求分析:…

自助KTV選址指南與優化策略

選址四大鐵律(硬性條件)產權合規:純商業產權消防雙通道:必須通過消防驗收遠離敏感區:距居民區、學校、醫院等200米以上面積達標:滿足包廂規劃需求選址核心邏輯(優先級排序)要素關鍵策…

深度學習11(調參設參+批標準化)

調參技巧對于調參,通常采用跟機器學習中介紹的網格搜索一致,讓所有參數的可能組合在一起,得到N組結果。然后去測試每一組的效果去選擇。 假設我們現在有兩個參數 α:0.1, 0.01, 0.001β:0.8, 0.88. 0.9這樣會有9種…