【代碼隨想錄算法訓練營第37期 第十七天 | LeetCode110.平衡二叉樹、257. 二叉樹的所有路徑、404.左葉子之和】

代碼隨想錄算法訓練營第37期 第十七天 | LeetCode110.平衡二叉樹、257. 二叉樹的所有路徑、404.左葉子之和


一、110.平衡二叉樹

解題代碼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:int getDepth(TreeNode* node){if(!node) return 0;return 1 + max(getDepth(node->left), getDepth(node->right));}bool isBalanced(TreeNode* root) {if(!root) return true;return abs(getDepth(root->left) - getDepth(root->right)) <= 1 && isBalanced(root->left) && isBalanced(root->right);}
};

題目鏈接/文章講解/視頻講解:
https://programmercarl.com/0110.%E5%B9%B3%E8%A1%A1%E4%BA%8C%E5%8F%89%E6%A0%91.html



二、257. 二叉樹的所有路徑

解題代碼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:void traversal(TreeNode* cur, string path, vector<string>& result){path += to_string(cur->val);if(cur->left == NULL && cur->right == NULL){result.push_back(path);return;}if(cur->left) traversal(cur->left, path + "->", result);if(cur->right) traversal(cur->right, path + "->", result);}vector<string> binaryTreePaths(TreeNode* root) {vector<string> result;string path;if(!root) return result;traversal(root, path, result);return result;}
};

題目鏈接/文章講解/視頻講解:
https://programmercarl.com/0257.%E4%BA%8C%E5%8F%89%E6%A0%91%E7%9A%84%E6%89%80%E6%9C%89%E8%B7%AF%E5%BE%84.html



三、404.左葉子之和

解題代碼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:int sumOfLeftLeaves(TreeNode* root) {if(!root) return 0;int leftValue = 0;if(root->left != NULL && root->left->left == NULL && root->left->right == NULL)leftValue += root->left->val;return leftValue + sumOfLeftLeaves(root->left) + sumOfLeftLeaves(root->right);}
};

題目鏈接/文章講解/視頻講解:
https://programmercarl.com/0404.%E5%B7%A6%E5%8F%B6%E5%AD%90%E4%B9%8B%E5%92%8C.html

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

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

相關文章

三、NVIDIA Jetson Orin開發板-GPU加速

一、NVIDIA Jetson Orin開發板的硬件情況 df -h#查看操作系統情況Filesystem Size Used Avail Use% Mounted on **/dev/nvme0n1p1** 234G 17G 208G 8% / none 7.4G 0 7.4G 0% /dev tmpfs 7.6G 0 7.6G 0% /dev/shm tmpfs …

LeetCode 2644.找出可整除性得分最大的整數:暴力模擬(兩層循環)

【LetMeFly】2644.找出可整除性得分最大的整數&#xff1a;暴力模擬&#xff08;兩層循環&#xff09; 力扣題目鏈接&#xff1a;https://leetcode.cn/problems/find-the-maximum-divisibility-score/ 給你兩個下標從 0 開始的整數數組 nums 和 divisors 。 divisors[i] 的 …

MySQL庫/表/數據的操作

文章目錄 1.數據庫操作1.1 創建、刪除、查看和修改1.2 編碼格式1.3 備份和恢復 2.表的操作2.1 創建表2.2 存儲引擎2.3 查看表、修改表、刪除表 3.數據類型3.1整數類型3.2字節類型(bit)3.3浮點類型(bit)3.4 decimal3.5 字符串類型3.6 日期和時間類型3.7 enum和set關于如何查找想…

webpack 學習之 五大核心

為什么用 webpack webpack 官網傳送門 … 官網&#xff1a;webpack 是一個用于現代 JavaScript 應用程序的 靜態模塊打包工具。將你項目中所需的每一個模塊組合成一個或多個 bundles&#xff0c;它們均為靜態資源&#xff0c;用于展示你的內容。總結&#xff1a;匯總所有模塊…

Python中別再用 ‘+‘ 拼接字符串了!

大家好&#xff0c;在 Python 編程中&#xff0c;我們常常需要對字符串進行拼接。你可能會自然地想到用 操作符將字符串連接起來&#xff0c;畢竟這看起來簡單明了。 在 Python 中&#xff0c;字符串是不可變的數據類型&#xff0c;這意味著一旦字符串被創建&#xff0c;它就…

【Python】—— lambda表達式

目錄 &#xff08;一&#xff09;應用場景 &#xff08;二&#xff09;lambda 語法 &#xff08;三&#xff09;示例分析 &#xff08;四&#xff09;lambda參數形式 4.1 無參數 4.2 一個參數 4.3 默認參數 4.4 可變參數 &#xff1a;*args 4.5 可變參數 &#xff1a;…

【Python爬蟲】案例_github模擬登錄

import requests import re from datetime import datetimedef login():sessionrequests.session()session.headers {User-Agent :XXXX #寫自己的}url1 https://github.com/loginres_1 session.get(url1).content.decode()token re.findall(name"authenticity_token&q…

基于Matlab實現BP神經網絡的手寫數字識別

歡迎大家點贊、收藏、關注、評論啦 &#xff0c;由于篇幅有限&#xff0c;只展示了部分核心代碼。 文章目錄 一項目簡介 二、功能三、系統四. 總結 一項目簡介 一、項目背景與意義 手寫數字識別是計算機視覺和模式識別領域的一個經典問題&#xff0c;具有廣泛的應用場景&…

信息安全從業者書單推薦

作為一名網安人&#xff0c;身上肩負的責任是很大的&#xff0c;能力越大&#xff0c;責任也越大&#xff0c;反過來責任越大&#xff0c;能力也必須跟得上。不管是想進這行&#xff0c;還是已經在這行&#xff0c;持續學習肯定是不能缺少的&#xff0c;除了在工作中積累&#…

qt多語言翻譯不生效的原因

假設您有QT語言家的基礎知識&#xff0c;假設網上那些所有的問題您都已經排查過了&#xff0c;但依然翻譯不生效&#xff0c;那么可以看下這篇帖子&#xff0c;其實就一個問題&#xff0c;變量的生命周期&#xff0c;假設QTranslator是一個函數內的變量&#xff0c;且沒有被聲明…

億圖圖示——刪除水印

一、文件以PPT格式導出 二、點擊水印所在區域&#xff0c;點擊多次delete鍵 三、調整PPT頁面尺寸 四、轉成PDF 五、PDF轉成圖片

Spring的Profile功能及其應用場景

Spring的Profile功能是一種條件化配置機制&#xff0c;它允許開發者根據不同的運行環境或條件來定義和使用不同的bean和配置。Profile功能使得Spring應用程序可以靈活地適應不同的部署場景&#xff0c;而無需修改代碼。 Profile功能的作用&#xff1a; 環境隔離&#xff1a;可…

從0開始寫一個環境保護網站的第3天(JAVAWEB)

1.目標 實現首頁的環境保護原因的查詢&#xff0c;和底部友情連接部分 2.實現 2.1建立數據庫表格&#xff08;這里數據全是百度查詢&#xff09; 環境保護原因表&#xff1a; 友情連接表&#xff1a;&#xff08;數據來源https://zhuanlan.zhihu.com/p/696243646&#xff0…

SqlSession是什么?在MyBatis-Spring中有什么應用?

目錄 一、SqlSession是什么 二、SqlSession在MyBatis中的應用 三、SqlSession在Spring中的應用 一、SqlSession是什么 SqlSession 是 MyBatis 框架中的一個核心概念&#xff0c;它代表與數據庫的一次會話。MyBatis 是一個流行的 Java 持久層框架&#xff0c;用于簡化數據庫…

c++題目_農場和奶牛

&#x1d435;B 頭奶牛 (1≤&#x1d435;≤25000)(1≤B≤25000)&#xff0c;有 &#x1d441;(2&#x1d435;≤&#x1d441;≤50000)N(2B≤N≤50000) 個農場&#xff0c;編號 11 到 &#x1d441;N&#xff0c;有 &#x1d440;(&#x1d441;?1≤&#x1d440;≤100000)M(…

【Linux】fork和exec中的信號繼承探索

fork和exec中的信號繼承探索 一、結論二、代碼驗證2.1 代碼編寫2.2 代碼執行 三、linux源碼驗證四、APUE中的驗證五、其他 一、結論 fork時子進程會繼承父進程的信號處理方式&#xff0c;包括父進程設置信號為SIG_DFL或SIG_IGN或捕獲后設置自定義處理函數。exce時子進程會繼承…

ChatGPT寫作指南:掌握5種高效格式成為寫作達人【含實用示例】

1. **簡潔指令** 當任務較簡單時&#xff0c;可以用一小段話來說明&#xff0c;便于理解和執行。如下例&#xff1a; 背景&#xff1a;我負責運營一個旅游主題的社交媒體賬號。 角色&#xff1a;作為一位經驗豐富的文案創作專家&#xff0c;我擅長打造引人注目的旅游內容…

【無標題】亞馬遜5月24日宣布推出2024出口跨境物流加速器計劃

亞馬遜中國5月24日鄭重宣布啟動“2024亞馬遜出口跨境物流加速器計劃”&#xff0c;旨在依托其世界領先的物流網絡和前沿技術&#xff0c;結合本土資源&#xff0c;不斷優化跨境物流服務&#xff0c;以強化中國賣家在跨境物流供應鏈管理方面的能力&#xff0c;進而提升整體效率&…

datagridview復選框選中響應

winform經常用datagridview來處理相關的數據顯示&#xff0c;如果datagridview有復選框&#xff0c;我們應該如何處理相關選中響應。選擇datagridview的cellcontentclick事件&#xff0c;代碼如下&#xff1a; bool isSelectedGridViewRow false&#xff1b; private void da…

深度神經網絡——什么是 K 均值聚類?

K 均值聚類 K 均值聚類是 無監督學習在所有無監督學習算法中&#xff0c;K 均值聚類可能是使用最廣泛的&#xff0c;這要歸功于它的強大功能和簡單性。 K-means 聚類到底是如何工作的&#xff1f; 簡而言之&#xff0c;K 均值聚類的工作原理是 創建參考點&#xff08;質心&am…