力扣爆刷第159天之TOP100五連刷61-65(翻轉單詞、對稱二叉樹、遍歷求和)

力扣爆刷第159天之TOP100五連刷61-65(翻轉單詞、對稱二叉樹、遍歷求和)

文章目錄

      • 力扣爆刷第159天之TOP100五連刷61-65(翻轉單詞、對稱二叉樹、遍歷求和)
      • 一、151. 反轉字符串中的單詞
      • 二、129. 求根節點到葉節點數字之和
      • 三、104. 二叉樹的最大深度
      • 四、101. 對稱二叉樹
      • 五、144. 二叉樹的前序遍歷

一、151. 反轉字符串中的單詞

題目鏈接:https://leetcode.cn/problems/reverse-words-in-a-string/description/
思路:很經典的題目,翻轉字符串中的單詞,只需要把所有單詞都翻轉,然后再整體翻轉就可以。具體的實現方式有很多,比如用stringbuilder拼接然后翻轉的,也有用集合收集之后翻轉的,都可以。

class Solution {public String reverseWords(String s) {StringBuilder sb = new StringBuilder();StringBuilder temp = new StringBuilder();for(char c : s.toCharArray()) {if(c != ' ') temp.append(c);else if(temp.length() > 0) {sb.append(temp.reverse()).append(' ');temp = new StringBuilder();}}if(temp.length() != 0) sb.append(temp.reverse());if(sb.charAt(sb.length()-1)  == ' ') sb.deleteCharAt(sb.length()-1);return sb.reverse().toString();}}

二、129. 求根節點到葉節點數字之和

題目鏈接:https://leetcode.cn/problems/sum-root-to-leaf-numbers/description/
思路:本題怎么都可以做,求的是從根節點到葉子節點的每一條通路都是一個數,這個數是從根節點拼接到葉子節點的。所以可以使用前序遍歷,但是又要注意回溯返回,有回溯的思想在里面。其他的就沒有了。

class Solution {int sum = 0;public int sumNumbers(TreeNode root) {backTracking(root, 0);return sum;}void backTracking(TreeNode root, int temp) {if(root == null) return;temp = root.val + temp * 10;if(root.left == null && root.right == null) {sum += temp;}backTracking(root.left, temp);backTracking(root.right, temp);}}

三、104. 二叉樹的最大深度

題目鏈接:https://leetcode.cn/problems/maximum-depth-of-binary-tree/description/
思路:求最大深度,沒啥好說的經典后序遍歷,返回左右子樹的最大深度作為最大深度。

class Solution {public int maxDepth(TreeNode root) {if(root == null) return 0;int left = maxDepth(root.left);int right = maxDepth(root.right);return Math.max(left, right) + 1;}
}

四、101. 對稱二叉樹

題目鏈接:https://leetcode.cn/problems/symmetric-tree/description/
思路:求二叉樹是否對稱,直接把數豎著分成兩半來看,然后前序遍歷比較即可。

class Solution {public boolean isSymmetric(TreeNode root) {return traverse(root.left, root.right);}boolean traverse(TreeNode node1, TreeNode node2) {if(node1 == null && node2 == null) return true;if(node1 == null|| node2 == null) return false;if(node1.val != node2.val) return false;return traverse(node1.left, node2.right) && traverse(node1.right, node2.left);}}

五、144. 二叉樹的前序遍歷

題目鏈接:https://leetcode.cn/problems/binary-tree-preorder-traversal/description/
思路:這個就是前序遍歷收集,沒啥可說的。

class Solution {List<Integer> list = new ArrayList<>();public List<Integer> preorderTraversal(TreeNode root) {if(root == null) return list;list.add(root.val);preorderTraversal(root.left);preorderTraversal(root.right);return list;}
}

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

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

相關文章

簡單解讀倫敦銀CFD(XAG)走勢圖

從本質上說&#xff0c;倫敦銀是一種差價合約&#xff08;CFD&#xff09;交易&#xff0c;在同平臺所提供的MT4中&#xff0c;它的代碼也許并不一樣&#xff0c;有的平臺會顯示為XAG&#xff0c;有的平臺會顯示為LLS或Silver&#xff0c;但它們指的其實是同一個品種&#xff0…

Python學習筆記29:進階篇(十八)常見標準庫使用之質量控制中的數據清洗

前言 本文是根據python官方教程中標準庫模塊的介紹&#xff0c;自己查詢資料并整理&#xff0c;編寫代碼示例做出的學習筆記。 根據模塊知識&#xff0c;一次講解單個或者多個模塊的內容。 教程鏈接&#xff1a;https://docs.python.org/zh-cn/3/tutorial/index.html 質量控制…

基于單片機的防酒駕控制系統設計

摘 要&#xff1a; 酒后駕車的危害十分巨大&#xff0c;因此&#xff0c;筆者介紹了一種基于單片機的防酒駕控制系統。系統由酒精傳感器 MQ-3測量汽車駕駛員體內的酒精含量濃度&#xff0c;通過 A/D 轉換器轉換成數字信號傳給單片機&#xff0c;經過單片機處理后顯示酒精濃度&a…

c++11新特性-6-using

文章目錄 using1.定義別名 using 1.定義別名 1.1 定義類型別名 using t int; 1.2 定義函數指針 int test(double,string){}//返回值類型 int &#xff0c;參數類型&#xff1a;double string using func int(*) (double,string);int main() {func f test;f(10.5,“hello…

算法訓練營day69

查并集&#xff1a;107. 尋找存在的路徑 (kamacoder.com) #include<iostream> #include<vector>using namespace std;vector<int> father(101, 0);void init() {for(int i 1;i < 101;i) {father[i] i;} }int find(int v) {if(v father[v]) return v;e…

老年生活照護實訓室:為養老服務業輸送專業人才

本文探討了老年生活照護實訓室在養老服務業專業人才培養中的關鍵作用。通過詳細闡述實訓室的功能、教學實踐、對學生能力的培養以及面臨的挑戰和解決方案&#xff0c;強調了其在提升人才素質、滿足行業需求方面的重要性&#xff0c;旨在為養老服務業的可持續發展提供有力的人才…

electron教程(二)控制應用程序的事件生命周期

1.will-finish-launching 當應用程序完成基礎的啟動的時候被觸發&#xff0c;在 Windows 和 Linux 中, will-finish-launching 事件與 ready 事件是相同的; 在 macOS 中&#xff0c;這個事件相當于 NSApplication 中的 applicationWillFinishLaunching 提示。 app.on(will-fi…

Butterfly主題文章標題改成轉動小風車

效果 標題級別不同小風車顏色不同&#xff0c;鼠標移入會有轉動變慢及變色效果。 新建css 建議在/source下創建諸如img/css/js等文件夾&#xff0c;存放文章或網站用的素材&#xff0c;分門別類后續也方便維護。 Hexo打包的時候&#xff0c;會自動把/source下的文件&#…

深度神經網絡語言識別

「AI秘籍」系列課程&#xff1a; 人工智能應用數學基礎人工智能Python基礎人工智能基礎核心知識人工智能BI核心知識人工智能CV核心知識 使用 DNN 和字符 n-gram 對一段文本的語言進行分類&#xff08;附 Python 代碼&#xff09; 資料來源&#xff0c;flaticon&#xff1a;htt…

AI繪畫如何變現賺取副業收入?保姆級AI繪畫SD和MJ副業實操教程建議收藏!

hi~大家好&#xff0c;我是向陽。 今天給大家分享一下我是如何通過AI繪畫賺到一點小錢的&#xff01; 副業做個人IP&#xff0c;某書&#xff0c;專注Midjourney &#xff0c;深入 AI頭像制作&#xff0c;小某書做了500頭像&#xff0c;變現了差不多一萬元&#xff0c;每日短…

[qt][C++]object.h(448): error C2238: 意外的標記位于“;”之前

問題場景&#xff1a;此問題多發生在qt調用python.h&#xff0c;比如matplotlib-cpp等需要python引用的C庫 #include <Python.h>報錯 \python\python37-32\include\object.h(448): error C2059: 語法錯誤:“;” \python\python37-32\include\object.h(448): error C223…

鴻蒙開發:Universal Keystore Kit(密鑰管理服務)【生成密鑰(C/C++)】

生成密鑰(C/C) 以生成ECC密鑰為例&#xff0c;生成隨機密鑰。具體的場景介紹及支持的算法規格。 注意&#xff1a; 密鑰別名中禁止包含個人數據等敏感信息。 開發前請熟悉鴻蒙開發指導文檔&#xff1a;gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md點擊或者復…

【C語言】五子棋(c語言實現)

這里寫目錄標題 最終效果菜單打印函數棋盤的初始化和打印人人對戰落子判空函數悔棋函數判勝負函數人人對戰 人機對戰一是將直接調用rand生成隨機值&#xff0c;這就不可控二是根據棋子贏面來判斷哪里落子最好 如果選擇退出程序直接exit就行主函數調用邏輯源代碼 最終效果 五子棋…

‘艾’公益——微笑行動「廣安站」為艾祝福,讓笑起舞

艾多美“微笑行動”廣安站拉開帷幕 此次愛心幫助7名唇腭裂患兒 重新綻放微笑 艾多美“微笑行動”廣安站拉開帷幕 此次愛心幫助7名唇腭裂患兒 重新綻放微笑 不讓笑容留有缺憾 每個孩子都有微笑的權利 艾多美向唇腭裂兒童伸出援手 綻放笑容&#xff0c;擁抱全新的未來 2…

進程、程序、應用程序之間的關系

文章目錄 進程和程序進程和應用程序總結參考資料 進程和程序 程序&#xff1a;程序是存放在硬盤中的可執行文件&#xff0c;主要包括代碼指令和數據。程序本身是一個靜態的文件&#xff0c;只有在被操作系統加載到內存中并執行時才會變成進程。 進程&#xff1a;進程是程序在…

衛星軌道平面簡單認識

目錄 一、軌道平面 1.1 軌道根數 1.2 應用考慮 二、分類 2.1 根據運行高度 2.2 根據運行軌跡偏心率 2.3 根據傾角大小 三、衛星星座中的軌道平面 四、設計軌道平面的考慮因素 一、軌道平面 1.1 軌道根數 軌道平面是定義衛星或其他天體繞行另一天體運動的平面。這個平…

第十六章 Qt的文件處理操作詳解

目錄 一、基本文件操作 二、二進制文件讀寫 三、文本文件讀寫 四、操作例子 1、QTextStream的流操作符 一、基本文件操作 文件操作是應用程序必不可少的部分。Qt 作為一個通用開發庫,提供了跨平臺的文件操作能力。在所有的 I/O 設備中,文件 I/O 是最重要的部分之…

TF-IDF和BM25原理和區別

TF-IDF TF-IDF是TF&#xff08;詞頻&#xff0c;Term Frequency&#xff09;和IDF&#xff08;逆文檔頻率&#xff0c;Inverse Document Frequency&#xff09;的乘積。我們先來看他們分別是怎么計算的&#xff1a; TF的計算有多種方式&#xff0c;常見的是 除以文章總詞數是…

從CPU的視角看C++的構造函數和this指針

從匯編角度&#xff0c;清晰的去看構造函數和this指針到底是個什么東西呢&#xff1f;也許可以解決你的一點小疑問 首先寫一個很簡單的代碼demo&#xff1a; class A{ public:int a;A(){;}void seta(int _a){a_a;}A* getA(){return this;} };int fun1(int px){return px; }in…