【代碼隨想錄算法訓練營第37期 第十五天 | LeetCode226.翻轉二叉樹、101.對稱二叉樹 2】

代碼隨想錄算法訓練營第37期 第十五天 | LeetCode226.翻轉二叉樹、101.對稱二叉樹 2


一、226.翻轉二叉樹

解題代碼C++:

/*** Definition for a binary tree node.* struct TreeNode {*     int val;*     TreeNode *left;*     TreeNode *right;*     TreeNode() : val(0), left(nullptr), right(nullptr) {}*     TreeNode(int x) : val(x), left(nullptr), right(nullptr) {}*     TreeNode(int x, TreeNode *left, TreeNode *right) : val(x), left(left), right(right) {}* };*/
class Solution {
public:TreeNode* invertTree(TreeNode* root) {queue<TreeNode*> que;if(root) que.push(root);while(!que.empty()){int size = que.size();for(int i = 0; i < size; i ++){TreeNode* node = que.front();que.pop();swap(node->left, node->right);if(node->left) que.push(node->left);if(node->right) que.push(node->right);}}return root;}
};

題目鏈接/文章講解/視頻講解:
https://programmercarl.com/0226.%E7%BF%BB%E8%BD%AC%E4%BA%8C%E5%8F%89%E6%A0%91.html



二、101.對稱二叉樹 2

解題代碼C++:

/*** Definition for a binary tree node.* struct TreeNode {*     int val;*     TreeNode *left;*     TreeNode *right;*     TreeNode() : val(0), left(nullptr), right(nullptr) {}*     TreeNode(int x) : val(x), left(nullptr), right(nullptr) {}*     TreeNode(int x, TreeNode *left, TreeNode *right) : val(x), left(left), right(right) {}* };*/
class Solution {
public:bool compare(TreeNode* left, TreeNode* right){if(left == NULL && right != NULL) return false;else if(left != NULL && right == NULL) return false;else if(left == NULL && right == NULL) return true;else if(left->val != right->val) return false;else return compare(left->left, right->right) && compare(left->right, right->left);}bool isSymmetric(TreeNode* root) {if(!root) return true;return compare(root->left, root->right);}
};

題目鏈接/文章講解/視頻講解:
https://programmercarl.com/0101.%E5%AF%B9%E7%A7%B0%E4%BA%8C%E5%8F%89%E6%A0%91.html

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

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

相關文章

【軟考中級 軟件設計師】數據結構

數據結構是計算機科學中一個基礎且重要的概念&#xff0c;它研究數據的存儲結構以及在此結構上執行的各種操作。在準備軟考中級-軟件設計師考試時&#xff0c;掌握好數據結構部分對于通過考試至關重要。下面是一些核心知識點概覽&#xff1a; 基本概念&#xff1a; 數據結構定義…

VBA_MF系列技術資料1-615

MF系列VBA技術資料1-615 為了讓廣大學員在VBA編程中有切實可行的思路及有效的提高自己的編程技巧&#xff0c;我參考大量的資料&#xff0c;并結合自己的經驗總結了這份MF系列VBA技術綜合資料&#xff0c;而且開放源碼&#xff08;MF04除外&#xff09;&#xff0c;其中MF01-0…

spring-boot集成slf4j(二)logback配置詳解

一、configuration 根節點&#xff1a;configuration&#xff0c;作為頂級標簽&#xff0c; 可以用來配置一些lockback的全局屬性&#xff0c;常見的屬性如下&#xff1a; &#xff08;1&#xff09;scan“true” &#xff1a;scan是否開啟自動掃描&#xff0c;監控配置文件更…

el-table 組件實現 “合并單元格 + N行數據小計” 功能

目錄 需求 - 要實現的效果初始代碼代碼升級&#xff08;可供多個表格使用&#xff09;CommonTable.vue 子組件 使用子組件1 - 父組件 - 圖1~圖3使用效果展示 使用子組件2 - 父組件 - 圖4使用效果展示 注意【代碼優化 - 解決bug】 需求 - 要實現的效果 父組件中 info 數據示例 …

內網安全之證書服務基礎知識

PKI公鑰基礎設施 PKI(Public Key Infrastructure)公鑰基礎設施&#xff0c;是提供公鑰加密和數字簽名服務的系統或平臺&#xff0c;是一個包括硬件、軟件、人員、策略和規程的集合&#xff0c;用來實現基于公鑰密碼體制的密鑰和證書的產生、管理、存儲、分發和撤銷等功能。企業…

Android Debug Bridge(ADB)命令使用

引言 Android Debug Bridge&#xff08;ADB&#xff09;是一套功能強大的命令行工具&#xff0c;它為Android開發者和高級用戶提供了與Android設備通信的能力。無論是進行應用開發、測試還是執行日常設備管理任務&#xff0c;ADB都是不可或缺的工具。本文將詳細介紹一些常用的…

element-plus:踩坑日記

el-table Q&#xff1a;有fixed屬性時&#xff0c;無數據時&#xff0c;可能出現底部邊框消失的bug 現象&#xff1a; 解決方法&#xff1a; .el-table__empty-block {border-bottom: 1px solid var(--el-table-border-color); } el-collapse 折疊面板 Q&#xff1a;標題上…

云平臺的安全能力提升解決方案

提升云平臺的安全能力是確保數據和服務安全的關鍵步驟。針對大型云平臺所面臨的云上安全建設問題&#xff0c;安全狗提供完整的一站式云安全解決方案&#xff0c;充分匹配云平臺安全管理方的需求和云租戶的安全需求。協助大型云平臺建設全網安全態勢感知、統一風險管理、統一資…

加強堆(大根堆)

way&#xff1a;看上去好像就是加了個indexMap記錄節點在數組heap中的下標&#xff0c;然后就是可以查到某個元素是否在堆里并且可以進行位置的調整&#xff0c;普通的堆是沒法知道元素是不是在的&#xff0c;只能彈堆頂元素&#xff0c;插入到堆尾這樣子。如果覺得heapSize有點…

PCIE協議-4-物理層邏輯模塊

4.1 簡介 物理層將事務層和數據鏈路層與用于鏈路數據交換的信令技術隔離開來。物理層被劃分為邏輯物理層和電氣物理層子模塊&#xff08;見圖4-1&#xff09;。 4.2 邏輯物理層子模塊 邏輯子模塊有兩個主要部分&#xff1a;一個發送部分&#xff0c;它準備從數據鏈路層傳遞過…

Spring 中常用的手動裝載 bean 方法

在 Spring 的 bean 裝載條件中&#xff0c;雖然 Spring 給我們提供了非常好用便捷的 Condition 相關注解&#xff0c;但是很多時候 Condition 相關注解并不滿足我們的需求&#xff0c;我需要更復雜的條件手動控制是否裝置 bean。這個時候我們就可以實現 Spring 為我們提供的幾個…

域名DNS添加CAA記錄

目錄 概述 檢測CAA記錄 添加CAA記錄 概述 DNS CAA(Certificate Authority Authorization)記錄是一種不太常見的DNS記錄類型,它主要用于鎖定證書頒發機構(CA)列表,以確保只有特定的CA可以為某個域名頒發SSL/TLS證書。CAA記錄是保護域名免受釣魚攻擊的安全措施,通過限制…

v-md-editor和SSE實現ChatGPT的打字機式輸出

概述 不論是GPT還是文心一言&#xff0c;在回答的時候類似于打字機式的將答案呈現給我們&#xff0c;這樣的交互一方面比較友好&#xff0c;另一方面&#xff0c;當答案比較多、生成比較慢的時候也能爭取一些答案的生成時間。本文后端使用express和stream&#xff0c;使用SSE將…

Boosting Cache Performance by Access Time Measurements——論文泛讀

TOC 2023 Paper 論文閱讀筆記整理 問題 大多數現代系統利用緩存來減少平均數據訪問時間并優化其性能。當緩存未命中的訪問時間不同時&#xff0c;最大化緩存命中率與最小化平均訪問時間不同。例如&#xff1a;系統使用多種不同存儲介質時&#xff0c;不同存儲介質訪問時間不同…

【C++初階】—— 類和對象 (上)

&#x1f4dd;個人主頁&#x1f339;&#xff1a;EterNity_TiMe_ ?收錄專欄?&#xff1a;C “ 登神長階 ” &#x1f339;&#x1f339;期待您的關注 &#x1f339;&#x1f339; 類和對象 1. 初步認識C2. 類的引入3. 類的定義聲明和定義全部放在類體中聲明和定義分開存放 4.…

8個實用網站和軟件,收藏起來一定不后悔~

整理了8個日常生活中經常能用得到的網站和軟件&#xff0c;收藏起來一定不會后悔~ 1.ZLibrary zh.zlibrary-be.se/這個網站收錄了超千萬的書籍和文章資源&#xff0c;國內外的各種電子書資源都可以在這里搜索&#xff0c;98%以上都可以在網站內找到&#xff0c;并且支持免費下…

Android系統的/etc/mkshrc文件

/etc/mkshrc 文件是用于配置 mksh&#xff08;MirBSD Korn Shell&#xff09;環境的啟動腳本。mksh 是 Android 默認使用的 shell&#xff0c;在 shell 啟動時會讀取并執行這個文件中的配置。以下是關于 /etc/mkshrc 文件的詳細信息及其用途。 /etc/mkshrc 文件的作用 環境配…

sql server專題實驗4 復雜查詢

SQL Server 是微軟開發的數據庫管理系統&#xff0c;它支持復雜的查詢操作&#xff0c;允許用戶從數據庫中檢索、分析和處理數據。在進行復雜查詢時&#xff0c;通常會用到以下幾種SQL語句和概念&#xff1a; 連接&#xff08;Join&#xff09;: INNER JOIN&#xff1a;只返回兩…

設計模式--備忘錄模式

備忘錄模式是一種行為設計模式&#xff0c;它用于在不破壞封裝的前提下&#xff0c;保存一個對象的內部狀態&#xff0c;以便以后可以恢復到這個狀態。這種模式在許多應用場景中非常有用&#xff0c;例如在實現撤銷操作、保存游戲進度、恢復文件備份以及保持工作狀態等。 備忘…

linux中ansible整理筆記

一、工作模式 1. adhoc臨時命令 語法&#xff1a; ansible 主機或者組列表 -m 模塊 -a “參數” 2. playbook 語法&#xff1a; ansible-playbook xxx.yml 二、模塊 1. ping 2.command:默認模塊&#xff08;不支持重定向&#xff0c;管道&#xff09; 3.shell:類似com…