力扣labuladong一刷day34天

力扣labuladong一刷day34天

文章目錄

      • 力扣labuladong一刷day34天
      • 一、230. 二叉搜索樹中第K小的元素
      • 二、538. 把二叉搜索樹轉換為累加樹

一、230. 二叉搜索樹中第K小的元素

題目鏈接:https://leetcode.cn/problems/kth-smallest-element-in-a-bst/?utm_source=LCUS&utm_medium=ip_redirect&utm_campaign=transfer2china
思路:這是一道很基礎的利用二叉搜索樹特性的題目,中序遍歷二叉搜索樹就會得到一個遞增的序列,這個題直接計數相等記錄下來即可

class Solution {int i = 1, value = 0;public int kthSmallest(TreeNode root, int k) {traverse(root, k);return value;}void traverse(TreeNode root, int k) {if (root == null) return;traverse(root.left, k);if (i == k) {value = root.val;}i++;traverse(root.right, k);   }
}

二、538. 把二叉搜索樹轉換為累加樹

題目鏈接:https://leetcode.cn/problems/convert-bst-to-greater-tree/
思路:本題讓把二叉搜索樹變成累加樹,每個節點的值變成大于他的值與他的和,那這樣做的話,中序遍歷最后的位置的一個數是最大的,也就是他自身,倒數第二個數是自身值與倒數第一的和,這樣我們只需要把中序遍歷的順序顛倒一下,先遍歷right再遍歷left,然后用一個p指針記錄上一個遍歷過的節點,這樣就可以完成累加。

class Solution {TreeNode p = null;public TreeNode convertBST(TreeNode root) {traverse(root);return root;}void traverse(TreeNode root) {if (root == null) return;traverse(root.right);if (p == null) {p = root;}else {root.val += p.val;p = root;}traverse(root.left);}
}

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

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

相關文章

[C++] STL_priority_queue(優先級隊列) 的使用及底層的模擬實現,容器適配器,deque的原理介紹

文章目錄 1、priority_queue1.1 priority_queue的介紹和使用1.2 priority_queue的使用模擬實現: 2、容器適配器2.1 什么是適配器2.2 STL標準庫中stack和queue的底層結構 3、deque3.1 deque的原理介紹3.2 deque的缺陷 4、為什么選擇deque作為stack和queue的底層默認容…

docker配置連接harbor私有倉庫

一、前言 以下分為兩種情況說明docker對harbor私有倉庫的訪問配置,一種是harbor使用自建證書配置https,一種是使用公有證書配置https 二、docker配置 harbor使用自建證書的情況 使用自建證書對harbor進行https配置,docker會將該倉庫識別成不…

SDXL使用animateDiff和hotshot-xl進行文生視頻

截至2023.12.8號,目前市面上有兩款適用于SDXL的文生視頻開源工具,分別是AnimateDiff和hotshot-xl。 一、工具下載鏈接 (1)AnimateDiff的webui版本的git鏈接: GitHub - continue-revolution/sd-webui-animatediff: A…

pytest測試框架介紹(2)

繼續進步一點點,溫故而知新 一、requests 介紹 1、requests 的官方文檔:https://docs.python-requests.org/en/latest/ 2、安裝requests:pip install requests 二、requests請求 1、請求方法:post,get&#xff0c…

Postman獲取token

問題描述 登錄接口中帶有token參數,其他接口需要帶上token才能正確訪問,利用接口查詢用戶信息時手動在headers中更新token信息并不方便。 解決方案 在登錄接口中設置一個名為“token”的環境變量,value為登錄接口跑通之后responseBody中返回…

51單片機的獨立按鍵與矩陣按鍵的使用以及實例分析

IO 的使用–按鍵 本文主要涉及8051單片機的按鍵的使用,包括獨立按鍵與矩陣按鍵。 其中包括實例分析: 獨立按鍵 K1 控制 D1 指示燈亮滅通過數碼管顯示矩陣按鍵 S1-S16 按下后鍵值 0-F 文章目錄 IO 的使用--按鍵一、按鍵消抖二、獨立按鍵獨立按鍵 K1 控制 …

IAR嵌入式解決方案發布全新版本,增強云調試和仿真功能,推動下一代嵌入式軟件開發

通過先進的Arm虛擬硬件集成和Linux系統中增強的基于云的協作,賦能下一代嵌入式軟件開發 瑞典烏普薩拉,2023年12月7日 - 嵌入式開發軟件和服務的全球領導者IAR宣布推出旗艦產品IAR Embedded Workbench for Arm及IAR Build Tools for Arm最新9.50版本。此…

vue2+datav可視化數據大屏(3)

接上一節所說,當我們將接口封裝完了后,我們需要給大屏進行內容填充啦 1,新建組件 📓 我們在ser-views文件夾下新建9個vue組件,如下圖所示,我給編號為1到9 📓在組件里寫入內容我是第一塊...一次類推&#x…

AOSP開機動畫調測技術點(基于Android13)

AOSP開機動畫調測技術點(基于Android13) 開機動畫替換 首先,在你的計算機上創建一個名為"bootanimation"的文件夾,并將"part0"、"part1"和"desc.txt"這三個文件復制到該文件夾中。這些文件包含了開機動畫的圖像…

基于深度學習的超分辨率圖像技術一覽

超分辨率(Super-Resolution)即通過硬件或軟件的方法提高原有圖像的分辨率,圖像超分辨率是計算機視覺和圖像處理領域一個非常重要的研究問題,在醫療圖像分析、生物特征識別、視頻監控與安全等實際場景中有著廣泛的應用。 SR取得了顯著進步。一般可以將現有…

【知識分享】SpringBoot自定義bean

在Spring Boot中,可以使用注解和配置來定義自定義的Bean。以下是自定義Bean的詳細講解和代碼示例: 1.使用注解定義自定義Bean: 在你的自定義類上添加Component或其衍生注解(如Service、Repository等),將該…

小機器人,電子鎖,牙刷,表類開關,磁閥開關等一些安防直流驅動的選型介紹分析 5V,大電流,小封裝

安防監控是一門被人們日益重視的新興行業,就目前發展來看,應用普及程度越來越廣,科技含量也越來越高,幾乎所有高新科技都可促進其發展,尤其是信息時代的來臨,更為該行業的發展提供契機。其中安防領域最為典…

docker 容器內數據映射到容器外

es 暴露的端口很多 es 十分的耗內存 es 的數據一般需要放置到安全目錄!掛載 啟動elasticsearch [rootiZbp1guc0wov85gocdqeaiZ home]# docker run -d --name elasticsearch -p 9200:9200 -p 9300:9300 -e "discovery.typesingle-node" elasticsearch:…

【力扣】刷題備忘錄-動歸-62. 不同路徑

62. 不同路徑 class Solution { public:int uniquePaths(int m, int n) {vector<vector<int>> dp(m,vector<int>(n,0));// 2D vector的標準寫法 有些麻煩for (int i 0; i < m; i) dp[i][0] 1; // 又忘記寫&#xff1b;了。。。for (int j 0; j < …

Python實現的一個簡單的GAN(生成對抗網絡)例子

一個簡單的GAN&#xff08;生成對抗網絡&#xff09;例子 以下是使用Python實現的一個簡單的GAN&#xff08;生成對抗網絡&#xff09;例子&#xff0c;它可以生成手寫數字圖像 python # Importing libraries import numpy as np import matplotlib.pyplot as plt from tenso…

【Docker】Docker的安裝部署及優化詳解

一、部署20版本的docker docker初期版本是1.13(同一版本,開源) ——》分類型 1.15 - 1.17 過程中分成兩種。 開源社區 docker-ce 企業版 docker-ee 目前 Docker 只能支持 64 位系統。 #關閉防火墻 systemctl stop firewalld.service setenforce 0 1.1 安裝依賴包 yum instal…

Blackmagic Design Fusion Studio 18 – 創意視覺特效的全能工具!

無論您是電影制片人、電視廣告創作者還是視覺特效藝術家&#xff0c;Blackmagic Design Fusion Studio 18 都是您的完美選擇。這款全能視覺特效軟件為您提供了無限的創意可能性&#xff0c;助力您打造令人驚嘆的視覺效果。 Blackmagic Design Fusion Studio 18 的卓越功能&…

【PWN】學習筆記(二)【棧溢出基礎】

目錄 課程教學C語言函數調用棧ret2textPWN工具 課程教學 課程鏈接&#xff1a;https://www.bilibili.com/video/BV1854y1y7Ro/?vd_source7b06bd7a9dd90c45c5c9c44d12e7b4e6 課程附件&#xff1a; https://pan.baidu.com/s/1vRCd4bMkqnqqY1nT2uhSYw 提取碼: 5rx6 C語言函數調…

Doocker還原容器啟動命令參數

get_command_4_run_container可以還原docker執行命令, 這是個第三方包&#xff0c;需要先安裝&#xff1a; docker pull cucker/get_command_4_run_container 命令格式&#xff1a; docker run --rm -v /var/run/docker.sock:/var/run/docker.sock cucker/get_command_4_run…

MISRA C++ 2023:C和C++測試解決方案實現靜態分析

自動化軟件測試解決方案的全球領導者Parasoft今天宣布&#xff0c;隨著Parasoft C/Ctest 2023.2即將發布&#xff0c;全面支持MISRA C 2023。Parasoft針對C和C軟件開發的完全集成測試解決方案計劃于2023年12月發布&#xff0c;可以幫助團隊實現自動化靜態分析和編碼標準合規性&…