二叉樹的前序遍歷(leetcode)

144. 二叉樹的前序遍歷 - 力扣(LeetCode)

給你二叉樹的根節點?root?,返回它節點值的?前序?遍歷。

?

?

這道題的啟發性真的很強?,這里必須傳入i的指針進去,下一次棧幀i++,但回到了上一層i又變回到了原來的i,所以這里需要用指針來控制數組的下表

/*** Definition for a binary tree node.* struct TreeNode {*     int val;*     struct TreeNode *left;*     struct TreeNode *right;* };*/
/*** Note: The returned array must be malloced, assume caller calls free().*/
int TreeSize(struct TreeNode* root)
{if(root==NULL){return 0;}return TreeSize(root->left)+TreeSize(root->right)+1;
}
void preorder(struct TreeNode* root,int* arr, int* pi)
{if(root==NULL){return;}arr[(*pi)++]=root->val;preorder(root->left,arr,pi);preorder(root->right,arr,pi);
}
int* preorderTraversal(struct TreeNode* root, int* returnSize) {*returnSize=TreeSize(root);int* arr=(int*)malloc(sizeof(int)*(*returnSize));int i=0;preorder(root,arr,&i);return arr;
}

?

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

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

相關文章

docker network ls(用于列出 Docker 主機上的所有網絡)

docker network ls 是一個 Docker 命令,用于列出 Docker 主機上的所有網絡。Docker 允許你創建自定義的網絡,以便更好地控制容器之間的通信。 當你運行 docker network ls 命令時,你可能會看到如下類似的輸出(輸出可能會根據你的…

每日一題12:Pandas:數據重塑-融合

一、每日一題 解答: import pandas as pddef meltTable(report: pd.DataFrame) -> pd.DataFrame:reshaped_report report.melt(id_varsproduct, var_namequarter, value_namesales)return reshaped_report 題源:Leetcode 二、總結 melt()函數是Pa…

Nginx生產環境最佳實踐之配置灰度環境

你好呀,我是趙興晨,文科程序員。 下面的內容可以說是干貨滿滿建議先收藏再慢慢細品。 今天,我想與大家深入探討一個我們日常工作中不可或缺的話題——灰度環境。你是否在工作中使用過灰度環境?如果是,你的使用體驗如…

AI圖像生成-基本步驟

模型板塊 1、新建采樣器:新建節點-》采樣器-》K采樣器 2、拖動模型節點后放開,選擇checkpoint加載器(簡易),模型新建成功 提示詞板塊 1、拖動正面條件節點后放開,選擇CLIP文本編碼器,模型新建…

mysql 一次刪除多個備份表

show tables時,發現備份的表有點多,想要一個sql就刪除 總不能drop table xx ; 寫多次吧。 方式一 1.生成刪除某個數據庫下所有的表SQL -- 查詢構建批量刪除表語句(根據數據庫名稱) select concat(drop table , TABLE_NAME, ;)…

代碼隨想錄算法訓練營第39天|● 62.不同路徑 ● 63. 不同路徑 II

62. 不同路徑 遞歸棧很酷 但超時 class Solution:def uniquePaths(self, m: int, n: int) -> int:if m1 or n1:return 1return self.uniquePaths(m-1,n)self.uniquePaths(m,n-1) 逐行dp class Solution:def uniquePaths(self, m: int, n: int) -> int:dp[1]*nfor j in…

FSMC的NOR Flash/PSRAM 控制器功能介紹(STM32F4)

目錄 概述 1 FSMC支持的類型 1.1 信號類型概述 1.2 FSMC的應用 2 外部存儲器接口信號 2.1 I/O NOR Flash 2.2 PSRAM/SRAM 3 支持的存儲器和事務 4 通用時序規則 5 NOR Flash/PSRAM 控制器異步事務 5.1 模式 1 - SRAM/PSRAM (CRAM) 5.2 模式 A - SRAM/PSRAM (CRAM…

Golang | Leetcode Golang題解之第90題子集II

題目&#xff1a; 題解&#xff1a; func subsetsWithDup(nums []int) (ans [][]int) {sort.Ints(nums)n : len(nums) outer:for mask : 0; mask < 1<<n; mask {t : []int{}for i, v : range nums {if mask>>i&1 > 0 {if i > 0 && mask>&…

[HUBUCTF 2022 新生賽]ezsql

測試無結果 掃描目錄&#xff0c;得到源碼 找到注入點 思路&#xff1a;更新資料的時候可以同時更新所有密碼 我們需要知道密碼的字段名 爆庫 nicknameasdf&age111,description(select database())#&descriptionaaa&token31ad6e5a2534a91ed634aca0b27c14a9 爆表…

運維別卷系列 - 云原生監控平臺 之 08.prometheus grafana 實踐

文章目錄 [toc]部署 Grafana準備配置文件grafana.iniprovisioning/datasources/prometheus.yamlprovisioning/dashboards/dashboards.yamlprovisioning/dashboards/views 創建 svc創建 deployment Grafana 是一個圖形化界面&#xff0c;配置 Prometheus 作為數據源&#xff0c;…

網絡庫-POCO介紹

1.簡介 POCO C Libraries 提供一套 C 的類庫用以開發基于網絡的可移植的應用程序&#xff0c;它提供了許多模塊&#xff0c;包括網絡編程、文件系統訪問、線程和并發、數據庫訪問、XML處理、配置管理、日志記錄等功能。Poco庫的設計目標是易于使用、高度可定制和可擴展。 包含…

Postman的簡介,安裝,注冊。

一、安裝 1.Chrome應用商品搜索Postman安裝。(翻墻) 2.客戶端安裝官網地址:https://www.postman.com/downloads/ 3.Postman的注冊和登錄。 4.Postman的界面介紹 Home主頁 workspaces 工作空間 Collections 集合&#xff0c;項目集合。 Apis api文檔 EnViromments …

Oracle如何加密解密sha256

在Oracle數據庫中&#xff0c;您可以使用內建的加密函數或者通過PL/SQL擴展來實現SHA-256加密。但請注意&#xff0c;SHA-256是一個哈希算法&#xff0c;它主要用于生成數據的哈希值&#xff0c;而不是用于加密和解密數據。哈希算法是單向的&#xff0c;即它只能從原始數據生成…

基于MSWA相繼加權平均的交通流量分配算法matlab仿真

目錄 1.程序功能描述 2.測試軟件版本以及運行結果展示 3.核心程序 4.本算法原理 5.完整程序 1.程序功能描述 基于MSWA相繼加權平均的交通流量分配算法matlab仿真.如圖所示交通網絡中&#xff0c;包含6個節點、11各路段、9個OD對。經枚舉可得每個OD對間存在3條無折返有效路…

elasticsearch使用Ngram實現任意位數手機號搜索

文章目錄 Ngram自定義分詞案例實戰問題拆解 Ngram分詞器定義Ngram分詞定義Ngram分詞示例Ngram分詞應用場景 Ngram分詞實戰 Ngram自定義分詞案例 當對keyword類型的字段進行高亮查詢時&#xff0c;若值為123asd456&#xff0c;查詢sd4&#xff0c;則高亮結果是&#xff1c;em&a…

python項目連接數據庫(mysql,postgresql)

在實際開發過程中&#xff0c;對于項目的數據查詢和數據統計&#xff0c;那python是相當好用&#xff0c;相信很多后端工程師是java語言入門的&#xff0c;對于python呢是有一點陌生&#xff0c;我自己也是&#xff0c;不過當你操作起來呢發現其實還是蠻好上手的。以下就是一些…

C語言基礎-標準庫函數

C語言的標準庫函數是由C語言標準庫&#xff08;如C99、C11等&#xff09;提供的一系列預定義函數&#xff0c;這些函數通常用于執行常見的編程任務&#xff0c;如字符串操作、內存管理、數學計算、文件操作等。通過使用標準庫函數&#xff0c;程序員可以更加高效地編寫C語言程序…

在ubuntu上創建WiFi熱點

要在 wlan0 無線網卡上發射熱點&#xff08;即創建 WiFi 熱點&#xff09;&#xff0c;可以使用 hostapd 和 dnsmasq 這兩個工具。hostapd 用于創建熱點&#xff0c;而 dnsmasq 用于提供 DHCP 和 DNS 服務&#xff0c;以便連接到熱點的設備可以獲取 IP 地址并訪問互聯網。 下面…

【AI】DeepStream(03):deepstream_test1_app

1、簡介 deepstream-test1:演示各種 DeepStream 插件構建 GStreamer 管道。從文件中獲取視頻、解碼、批處理,然后進行對象檢測,最后在屏幕上渲染框。 源碼路徑:/opt/nvidia/deepstream/deepstream/sources/apps/sample_apps/deepstream-test1 先看下效果 2、編譯 1)…

Qt將ffmpeg解碼出來的數據保存為文件

具體代碼如下: QImage image(m_pAVPicture.data[0], m_videoWidth, m_videoHeight, QImage::Format_RGB888);QString currrentTime = QDateTime::currentDateTime().