力扣-數據結構-10【算法學習day.81】

前言

###我做這類文章一個重要的目的還是給正在學習的大家提供方向(例如想要掌握基礎用法,該刷哪些題?建議靈神的題單和代碼隨想錄)和記錄自己的學習過程,我的解析也不會做的非常詳細,只會提供思路和一些關鍵點,力扣上的大佬們的題解質量是非常非常高滴!!!


習題

1.反轉二叉樹以匹配先序遍歷

題目鏈接:971. 翻轉二叉樹以匹配先序遍歷 - 力扣(LeetCode)

題面:

附上大佬代碼:

/*** Definition for a binary tree node.* public class TreeNode {*     int val;*     TreeNode left;*     TreeNode right;*     TreeNode() {}*     TreeNode(int val) { this.val = val; }*     TreeNode(int val, TreeNode left, TreeNode right) {*         this.val = val;*         this.left = left;*         this.right = right;*     }* }*/
class Solution {List<Integer> ans = new ArrayList<>();int idx = -1;public List<Integer> flipMatchVoyage(TreeNode root, int[] voyage) {return dfs(root, voyage) ? ans : Arrays.asList(-1);}boolean dfs(TreeNode node, int[] voyage) {// 空節點肯定滿足, 直接返回 trueif (node == null) { return true; }idx++;// 檢查當前節點的值和 voyage 數組對應位置的值是否一致if (node.val != voyage[idx]) { return false; }// 需要進行翻轉的情況if (node.left != null && node.right != null &&node.left.val != voyage[idx+1]) {TreeNode tmp = node.left;node.left = node.right;node.right = tmp;ans.add(node.val);}// 遞歸處理左子樹和右子樹return dfs(node.left, voyage) && dfs(node.right, voyage);}
}

后言

上面是數據結構相關的習題,下一篇文章會將其他相關的習題。?

?

?

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

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

相關文章

Vue 全局事件總線:Vue 2 vs Vue 3 實現

&#x1f31f; 前言 歡迎來到我的技術小宇宙&#xff01;&#x1f30c; 這里不僅是我記錄技術點滴的后花園&#xff0c;也是我分享學習心得和項目經驗的樂園。&#x1f4da; 無論你是技術小白還是資深大牛&#xff0c;這里總有一些內容能觸動你的好奇心。&#x1f50d; &#x…

基于Spring Boot的電影網站系統

一、技術架構 后端框架&#xff1a;Spring Boot&#xff0c;它提供了自動配置、簡化依賴管理、內嵌式容器等特性&#xff0c;使得開發者可以快速搭建起一個功能完備的Web應用。 前端技術&#xff1a;可能采用Vue.js、JS、jQuery、Ajax等技術&#xff0c;結合Element UI等組件庫…

DeepSpeed訓練得到checkpoint如何像Huggingface模型一樣評測evaluation?zero_to_fp32.py有什么用?怎么用?

DeepSpeed訓練得到checkpoint如何像Huggingface模型一樣評測evaluation&#xff1f; 具體步驟 首先看一個樣例&#xff1a; 這是我用open-instruct框架&#xff0c;使用DeepSpeed訓練1728個steps得到的一個checkpoint。請注意&#xff0c;下文我演示用的例子是基于step_1152&…

node.js之---子線程(child_process)模塊

為什么需要子線程&#xff08;child_process&#xff09;模塊 Worker Threads 的基本概念 如何使用 Worker Threads Worker Threads 的性能 Worker 線程的優勢和限制 進階用法&#xff1a;共享內存 為什么需要子線程&#xff08;child_process&#xff09;模塊 在 Node.js…

【深度學習基礎之多尺度特征提取】多尺度圖像增強(Multi-Scale Image Augmentation)是如何在深度學習網絡中提取多尺度特征的?附代碼

【深度學習基礎之多尺度特征提取】多尺度圖像增強&#xff08;Multi-Scale Image Augmentation&#xff09;是如何在深度學習網絡中提取多尺度特征的&#xff1f;附代碼 【深度學習基礎之多尺度特征提取】多尺度圖像增強&#xff08;Multi-Scale Image Augmentation&#xff0…

鴻蒙應用開發 - 如何去掉字符串中空格

鴻蒙應用開發 - 如何去掉字符串中空格 在鴻蒙應用開發中&#xff0c;如果你使用的是ArkTS&#xff08;Ark TypeScript&#xff09;&#xff0c;可以通過JavaScript或TypeScript內置的字符串方法來去除字符串中的空格。以下是一些常用的方法&#xff1a; trim()&#xff1a;去…

最新版Chrome瀏覽器加載ActiveX控件之CFCA安全輸入控件

背景 CFCA安全輸入控件用于保證用戶在瀏覽器、桌面客戶端、移動客戶端中輸入信息的安全性&#xff0c;防止運行在用戶系統上的病毒、木馬等惡意程序入侵竊取用戶輸入的敏感信息。確保用戶輸入、本地緩存、網絡傳輸整個流程中&#xff0c;輸入的敏感信息不被竊取。廣泛應用于銀行…

vSAN手動平衡磁盤

原創作者&#xff1a;運維工程師 謝晉 vSAN手動平衡磁盤 vSAN手動平衡磁盤 vSAN手動平衡磁盤 1、ssh登錄到VCSA&#xff0c;然后登錄到 Ruby vSphere 控制臺 (RVC) # rvc administratorvsphere.local10.10.0.202、切換到計算機命名空間 0 / 1 10.10.0.20/ > cd 1 /10.…

接口測試面試題

接口測試在軟件測試中占據重要位置&#xff0c;無論是功能測試還是性能測試&#xff0c;接口的穩定性至關重要。以下總結了一些常見的接口測試面試題&#xff0c;幫助你從容應對面試挑戰&#xff01; 面試官常說&#xff1a;“接口測試是測試的重頭戲&#xff0c;了解接口的設計…

【前端,TypeScript】TypeScript速成(六):函數

函數 函數的定義 定義一個最簡單的加法函數&#xff1a; function add(a: number, b: number): number {return a b }&#xff08;可以看到 JavaScript/TypeScript 的語法與 Golang 也非常的相似&#xff09; 調用該函數&#xff1a; console.log(add(2, 3)) // out [LOG…

css的選擇器有哪些?優先級?

元素選擇器&#xff1a;選擇所有指定標簽類型的元素。 類選擇器&#xff1a;選擇具有指定類的所有元素&#xff0c;類名前有一個點 ID 選擇器&#xff1a;選擇具有指定 id 屬性的元素&#xff0c;ID 前有一個井號屬性選擇器&#xff1a;選擇具有指定屬性或屬性值的元素后代選…

Vue-Router之嵌套路由

在路由配置中&#xff0c;配置children import Vue from vue import VueRouter from vue-routerVue.use(VueRouter)const router new VueRouter({mode: history,base: import.meta.env.BASE_URL,routes: [{path: /,redirect: /home},{path: /home,name: home,component: () &…

Easy-Trans反向翻譯+Excel導入最佳實踐

1、概述 實現用戶excel上傳、解析、對于用戶輸入的中文翻譯為字典碼或者id&#xff0c;實現用戶輸入的參數校驗&#xff0c;最后入庫。如果用戶輸入的參數有問題&#xff0c;返回校驗結果給前端。 excel解析使用My-Excel組件&#xff0c;校驗使用hibernate-validator&#xff…

高效管理 Nginx 的利器:nginxWebUI 指南和 Docker 部署安裝過程

前言 Nginx WebUI 是一個為 Nginx 提供圖形化管理界面的工具。通過 WebUI&#xff0c;用戶可以輕松管理 Nginx 配置&#xff0c;而無需直接編輯配置文件&#xff0c;尤其適合新手用戶和頻繁修改配置的場景。 官網文檔&#xff1a;nginxWebUI - 文檔 本文將分享為什么選擇 ngin…

SpringCloud源碼-openFeign

LoadBalancer默認只有nacos服務發現器 openFeign與springcloud loadbalancer的結合點 openFeign通過spring cloud loadbalancer進行負載均衡&#xff0c;spring cloud loadbalancer通過discovery client獲取nacos的機器列表&#xff0c;然后底層進行負載均衡。

基于微信小程序的校園自助打印系統

博主介紹&#xff1a;java高級開發&#xff0c;從事互聯網行業六年&#xff0c;熟悉各種主流語言&#xff0c;精通java、python、php、爬蟲、web開發&#xff0c;已經做了多年的設計程序開發&#xff0c;開發過上千套設計程序&#xff0c;沒有什么華麗的語言&#xff0c;只有實…

從 ELK Stack 到簡單 — Elastic Cloud Serverless 上的 Elastic 可觀察性

作者&#xff1a;來自 Elastic Bahubali Shetti, Chris DiStasio 宣布 Elastic Cloud Serverless 上的 Elastic Observability 正式發布 — 一款完全托管的可觀察性解決方案。 隨著組織規模的擴大&#xff0c;一個能夠處理分布式云環境的復雜性并提供實時洞察的可觀察性解決方…

21.<基于Spring圖書管理系統②(圖書列表+刪除圖書+更改圖書)(非強制登錄版本完結)>

PS&#xff1a; 開閉原則 定義和背景 開閉原則&#xff08;Open-Closed Principle, OCP&#xff09;&#xff0c;也稱為開放封閉原則&#xff0c;是面向對象設計中的一個基本原則。該原則強調軟件中的模塊、類或函數應該對擴展開放&#xff0c;對修改封閉。這意味著一個軟件實體…

三、GIT與Github推送(上傳)和克隆(下載)

GIT與Github推送&#xff08;上傳&#xff09;和克隆&#xff08;下載&#xff09; 一、配置好SSH二、在Github創建倉庫三、git克隆&#xff08;下載&#xff09;文件四、git推送&#xff08;上傳&#xff09;文件到遠程倉庫 一、配置好SSH Git與Github上傳和下載時需要使用到…

網工日記:FTP兩種工作模式的區別

FTP 的主動模式和被動模式在連接建立的發起方、數據傳輸端口以及對網絡環境的適應性等方面存在明顯區別&#xff1a; 1. 連接發起方 主動模式&#xff1a;數據連接由服務器主動發起。在控制連接建立后&#xff0c;客戶端通過 PORT 命令告知服務器自己用于接收數據的臨時端口號…