leetcode刷題——判斷對稱二叉樹(C語言版)

題目描述:

示例 1:

輸入:root = [6,7,7,8,9,9,8]
輸出:true
解釋:從圖中可看出樹是軸對稱的。

示例 2:

輸入:root = [1,2,2,null,3,null,3]
輸出:false
解釋:從圖中可看出最后一層的節點不對稱。

提示:

0 <= 節點個數 <= 1000

首先分析一下這道題:

對于對稱二叉樹,既要求結構相同,也要保證每一個對稱節點中的值相同,因此我們就可以將根節點的左子樹與右子樹比較,看看是否相等

?

?

?

代碼實現:?

/*** Definition for a binary tree node.* struct TreeNode {*     int val;*     struct TreeNode *left;*     struct TreeNode *right;* };*/bool traversal(struct TreeNode*left,struct TreeNode*right){if(right==NULL&&left==NULL){return true;}if((right==NULL&&left!=NULL)||(right!=NULL&&left==NULL)){return false;}if(right->val!=left->val){return false;}return traversal(left->left,right->right)&&traversal(left->right,right->left);}
bool checkSymmetricTree(struct TreeNode* root) {if(root==NULL){return true;}return traversal(root->left,root->right);
}

?如有錯誤歡迎批評指正,第一次寫題解,可能有很多不足之處。

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

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

相關文章

無法右鍵下載文檔?網頁PDF下載方法大全

適用場景&#xff1a;繞過付費限制/無法右鍵下載/動態加載PDF 方法1&#xff1a;瀏覽器原生下載&#xff08;成功率60%&#xff09; Chrome/Edge&#xff1a; 在PDF預覽頁點擊工具欄 ??下載圖標&#xff08;右上角&#xff09; 快捷鍵&#xff1a;CtrlS → 保存類型選PDF …

基于缺失數據的2024年山東省專項債發行報告

一、數據情況 本次報告選取了山東省財政局公開的2024年專項債數據,共計2723條,發行期數是從第1期到第58期,由于網絡原因,其中25期到32期,54到57期的數據有缺失,如下圖所示。 從上圖看出,一年52周,平均每周都有一期發布,因此持續做專項債的謀劃很重要,一定要持續謀劃…

Ubuntu數據連接訪問崩潰問題

目錄 一、分析問題 1、崩潰問題本地調試gdb調試&#xff1a; 二、解決問題 1. 停止 MySQL 服務 2. 卸載 MySQL 相關包 3. 刪除 MySQL 數據目錄 4. 清理依賴和緩存 5.重新安裝mysql數據庫 6.創建程序需要的數據庫 三、驗證 1、動態庫更新了 2、頭文件更新了 3、重新…

Linux系統編程 day10 接著線程(中期頭大,還要寫論文)

線程有點懵逼 線程之前函數回顧以及總結部分&#xff08;對不清楚的問題再思考&#xff09; 線程控制原語 進程控制原語 pthread_create(); fork(); pthread_self(); getpid(); pthread_exit(); exit(); pthread_join(); …

《潯川AI翻譯v6.1.0問題已修復公告》

《潯川AI翻譯v6.1.0問題已修復公告》 尊敬的潯川AI翻譯用戶&#xff1a; 感謝您對潯川AI翻譯的支持與反饋&#xff01;我們已針對 **v6.1.0** 版本中用戶反饋的多個問題進行了全面修復&#xff0c;并優化了系統穩定性。以下是本次修復的主要內容&#xff1a; 已修復問題 ?…

深入理解 java synchronized 關鍵字

&#x1f9d1; 博主簡介&#xff1a;CSDN博客專家&#xff0c;歷代文學網&#xff08;PC端可以訪問&#xff1a;https://literature.sinhy.com/#/literature?__c1000&#xff0c;移動端可微信小程序搜索“歷代文學”&#xff09;總架構師&#xff0c;15年工作經驗&#xff0c;…

華三(H3C)與華為(Huawei)設備配置IPsec VPN的詳細說明,涵蓋配置流程、參數設置及常見問題處理

以下是針對華三&#xff08;H3C&#xff09;與華為&#xff08;Huawei&#xff09;設備配置IPsec VPN的詳細說明&#xff0c;涵蓋配置流程、參數設置及常見問題處理&#xff1a; 一、華三&#xff08;H3C&#xff09;設備IPsec VPN配置詳解 1. 配置流程 華三IPsec VPN配置主要…

KBEngine 源代碼分析(一):pyscript 目錄文件介紹

pyscript 目錄文件 pyscript 目錄提供了 KBEngine 把 C++ 代碼中的類注冊到 Python 的機制 同時也提供了 C++ 調用 Python 方法的例子 相對現在的 C++ 17/20 ,這個目錄的分裝相對不優雅 不過不影響學習如何使用 Python 官方庫提供的 API ,實現 C++ Python 混合編程 C++ …

線程入門3

synchronized修飾方法 synchronized可以修飾代碼塊(在線程入門2中有例子)&#xff0c;也可以修飾普通方法和靜態方法。 修飾普通方法 修飾普通方法簡化寫法&#xff1a; 修飾靜態方法 修飾靜態方法簡化寫法&#xff1a; 注意&#xff1a;利用synchronized上鎖&#xff0c;鎖的…

linux上Flexlm命令

FlexLM 是一種靈活的許可證管理系統&#xff0c;廣泛用于各種軟件產品中&#xff0c;如 Autodesk 的 AutoCAD 和 Autodesk 的其他產品。它允許軟件開發商控制軟件的使用和分發&#xff0c;同時提供靈活的許可證管理策略。在 Linux 系統中使用 FlexLM 通常涉及到幾個關鍵步驟&am…

【Java學習方法】終止循環的關鍵字

終止循環的關鍵字 一、break 作用&#xff1a;跳出最近的循環&#xff08;直接結束離break最近的那層循環&#xff09; 使用場景&#xff1a;一般搭配if條件判斷&#xff0c;如果滿足某個條件&#xff0c;就結束循環&#xff0c;&#xff08;場景&#xff1a;常見于暴力枚舉中…

【論文精讀】Reformer:高效Transformer如何突破長序列處理瓶頸?

目錄 一、引言&#xff1a;當Transformer遇到長序列瓶頸二、核心技術解析&#xff1a;從暴力計算到智能優化1. 局部敏感哈希注意力&#xff08;LSH Attention&#xff09;&#xff1a;用“聚類篩選”替代“全量計算”關鍵步驟&#xff1a;數學優化&#xff1a; 2. 可逆殘差網絡…

關于在Springboot中設置時間格式問題

目錄 1-設置全局時間格式1.Date類型的時間2.JDK8時間3.使Date類和JDK8時間類統統格式化時間 2-關于DateTimeFormat注解 1-設置全局時間格式 1.Date類型的時間 對于老項目來說&#xff0c;springboot中許多類使用的是Date類型的時間&#xff0c;沒有用到LocalDateTime等JDK8時…

面試篇:Java并發與多線程

基礎概念 什么是線程&#xff1f;線程和進程的區別是什么&#xff1f; 線程 是程序執行的最小單位&#xff0c;它是 CPU 調度和執行的基本單元。一個進程可以包含多個線程&#xff0c;這些線程共享進程的資源&#xff08;如內存&#xff09;&#xff0c;但每個線程有自己的棧…

【Qt/C++】QPrinter關于QInternal::Printer的解析

1. 問題分析 QInternal::Printer在Qt框架中并不是一個直接暴露給用戶的API。相反&#xff0c;它是一個枚舉值&#xff0c;用于標識QPaintDevice的類型。在Qt中&#xff0c;QPaintDevice是一個抽象類&#xff0c;用于任何可以進行繪制的設備&#xff0c;如窗口、圖像、打印機等…

uniapp返回上一頁接口數據更新了,頁面未更新

注意&#xff1a;不是組件套組件可以不使用setTimeout延時 返回上一頁一般會走onshow&#xff0c;但是接口更新了頁面未更新 onShow(() > {// 切換城市后重新調用數據if (areaId.value) {const timer setTimeout(async () > {timer && clearTimeout(timer);…

MCU開發學習記錄11 - ADC學習與實踐(HAL庫) - 單通道ADC采集、多通道ADC采集、定時器觸發連續ADC采集 - STM32CubeMX

名詞解釋&#xff1a; ADC&#xff1a; Analog-to-Digital SAR&#xff1a;Successive Approximation Register 本文將介紹ADC的概念、相關函數以及STM32CubeMX生成ADC的配置函數。針對于ADC實踐&#xff1a;單通道采集芯片內部溫度傳感器&#xff08;ADC1_ch16&#xff09;&a…

68元撬動未來:明遠智睿2351開發板重塑嵌入式開發生態

在嵌入式開發領域&#xff0c;價格與性能的矛盾始終存在&#xff1a;高端開發板功能強大但成本高昂&#xff0c;低價產品則往往受限于性能與擴展性。明遠智睿2351開發板以68元&#xff08;含稅&#xff09;的定價打破這一僵局&#xff0c;通過四核1.4G處理器、全功能Linux系統與…

關于ubuntu密碼正確但是無法登錄的情況

參考這個文章&#xff1a; https://blog.csdn.net/cuichongxin/article/details/117462494 檢查一下是不是用戶被lock了 輸入passwd -s username 如果用戶是L狀態&#xff0c;那么就是lock了。 使用 passwd -u username 解鎖 關于 .bashrc 不生效 有幾點&#xff1a; ~/.…

LeetCode-47. 全排列 II

1、題目描述&#xff1a; 給定一個可包含重復數字的序列 nums &#xff0c;按任意順序 返回所有不重復的全排列。 示例 1&#xff1a; 輸入&#xff1a;nums [1,1,2] 輸出&#xff1a; [[1,1,2],[1,2,1],[2,1,1]]示例 2&#xff1a; 輸入&#xff1a;nums [1,2,3] 輸出&am…