leetcode-114. Flatten Binary Tree to Linked List

Given a binary tree, flatten it to a linked list in-place.

For example,
Given

         1/ \2   5/ \   \3   4   6

?

The flattened tree should look like:

   1\2\3\4\5\6

思路:遞歸處理,引用二叉鏈表的思想,使用pre記錄上一個分支的指針。

Accepted Code:
 1 /**
 2  * Definition for a binary tree node.
 3  * struct TreeNode {
 4  *     int val;
 5  *     TreeNode *left;
 6  *     TreeNode *right;
 7  *     TreeNode(int x) : val(x), left(NULL), right(NULL) {}
 8  * };
 9  */
10 class Solution {
11 private:
12     TreeNode* pre=nullptr;
13 public:
14     void flatten(TreeNode* root) {
15         if(root==nullptr)
16         return;
17         flatten(root->right);
18         flatten(root->left);
19         root->right=pre;
20         root->left=nullptr;
21         pre=root;
22     }
23 };

?

轉載于:https://www.cnblogs.com/hongyang/p/6423405.html

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

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

相關文章

HALCON示例程序autobahn高速公路車道識別程序剖析

HALCON示例程序autobahn高速公路車道識別程序剖析 小哥哥小姐姐覺得有用點個贊唄! 示例程序源碼(加注釋) *關閉halcon窗口的實時更新 dev_update_window (‘off’) *關閉halcon圖形窗口 dev_close_window () *打開圖形窗口 *dev_open_win…

CSS中的未定義行為,瀏覽器的差異(一)

今天看了張鑫旭大佬的新書的有感吧,記錄一下。 Web標準未對一些場景做出明確規范,所以各大瀏覽器廠家只能根據自己的理解和喜好去實現,表現差異不是瀏覽器的bug,用計算機領域的術語描述為"未定義行為"。 比如一個例子&a…

KVC 和 KVO

作者 沖破繭縛 2015.08.28 16:12* 寫了3967字,被8人關注,獲得了14個喜歡KVC 和 KVO 字數363 閱讀32 評論0 喜歡0KVC (Key Value Coding),鍵值編碼,通過鍵值(字符串)來訪問屬性的機制,來間接修改…

Atmel megaAVR控制器 串行引導Bootloader

開始研究下Bootloader的代碼結構 2015.1.9 粗略看了下,Bootloader主要做了下板卡的初始化 -----> 然后進入for( ; ; )死循環 -----> 循環刷新串口數據 -----> 根據數據做出不同應答 -----> 如果有寫數據,則將數據存入buffer …

MapReduce入門2-流量監控

3、流量監控匯總(使用LongWritable實現) hdfs文件路徑:/tmp/flow.txt 查看文件內容: 13770759991 50 100 25 400 13770759991 800 600 500 100 13770759992 400 300 250 1400 13770759992 800 1200 600 900字符串含義:…

【fiddler學習問題記錄】——手機端證書下載頁打不開、無法將此證書安裝(已解決)

目錄 1、手機端下載頁打不開 解決方法1)電腦端——將網絡設置成公用(親測有效) 解決方法2)手機端將fiddler設置為信任應用,不被攔截 (未試) 2、無法將此證書安裝 方法一:修改證書…

HALCON示例程序ball電路板焊點識別、檢測、測量程序剖析

HALCON示例程序ball電路板焊點識別、檢測、測量程序剖析 示例程序源碼(加注釋) 介紹: ball.hdev: Inspection of Ball Bonding *halcon窗口實時更新關閉 dev_update_window (‘off’) *halcon關閉所有窗口 dev_close_window () *halcon打開…

舵機的原理和控制

控制信號由接收機的通道進入信號調制芯片,獲得直流偏置電壓。它內部有一個基準電路,產生周期為20ms,寬度為1.5ms的基準信號,將獲得的直流偏置電壓與電位器的電壓比較,獲得電壓差輸出。最后,電壓差的正負輸出…

HDFS清理壞塊

報錯 Failed with exception java.io.IOException:org.apache.hadoop.hdfs.BlockMissingException: Could not obtain block: BP-1921057509-192.168.57.129-1517160177567:blk_1073741930_1106 file/user/hive/warehouse/db_hive.db/student/student.txt Time taken: 0.104 se…

如何在PowerDesigner將PDM導出生成WORD文檔或者html文件

a) 使用PowerDesigner打開pdm文件 b) 點擊Report Temlates 制作模板 點擊PowerDesigner菜單欄“Report” -> “Report Templates” c) 選擇模板數據項 完成步驟a),得到如下界面,左右2個區,Aavailable區…

【軟件測試】——基礎篇(軟件測試技術體系、過程管理)

目錄 軟件測試技術體系 軟件測試過程管理?編輯 接口測試用例設計 手機端測試流程?編輯 軟件測試技術體系 軟件測試過程管理 接口測試用例設計 手機端測試流程

vue 的常用模塊安指令(持續記錄)

# 全局安裝 vue-cli $ cnpm install --global vue-cli# 創建一個基于 webpack 模板的新項目 $ vue init webpack my-project # 路由管理模塊 $ npm install vue-router --save # 狀態管理模塊 $ npm install vuex --save # 網絡請求模塊 $ npm install vue-resource --save # 停…

HALCON基于形狀匹配詳解

HALCON基于形狀的模板匹配詳細說明 很早就想總結一下前段時間學習HALCON的心得,但由于其他的事情總是抽不出時間。去年有過一段時間的集中學習,做了許多的練習和實驗,并對基于HDevelop的形狀匹配算法的參數優化進行了研究,寫了一…

俄羅斯:自由軟件在這里生根

2008年6月15日,我在“俄羅斯:自由軟件在這里起飛“一文中介紹了自由軟件在俄羅斯的發展情況。現在,許多年過去了,實際情況如何呢? 回顧以往,俄羅斯境內自由軟件的精英們,在2001年組建了ALTLinux…

小米出招黑科技,5S或成全球首款”Under glass“指紋識別手機

這一次,小米PK蘋果,小米勝。 不得不說,最近的手機圈真是熱鬧,繼三星Note 7爆炸、蘋果iPhone 7發布一度成為新聞熱點之后,小米又來暗戳戳地搶風頭了。 最近小米即將發布的兩款新旗艦消息扎堆,其中基本已經確…

sql中實現取得某字段中數字值

ALTER function [dbo].[GetNum](a nvarchar(4000)) returns nvarchar(4000) as begin while patindex(%[^0-9]%,a)>0 begin set astuff(a,patindex(%[^0-9]%,a),1,) end--select a --299 return a end 例如: 轉載于:https://www.cnblogs.com/fish-ycq/p/6433562.ht…

Java 中 String 的常用方法(二)

本文介紹剩下的一些常用的 String 中的方法。 1、replace 方法 、replaceFirst 方法和 replaceAll 方法 replace(char oldChar, char newChar)Returns a string resulting from replacing all occurrences of oldChar in this string with newChar. replace(CharSequence targe…

【adb錯誤修復】adb version(39) doesn‘t match the client(40),killing...

問題原因: 由于服務端的adb版本和客戶端的adb版本不一樣【哪個是客戶端哪個是服務端我也不清楚】 解決方法: adb kill-serveradb start-server

HALCON示例程序ball電路板焊點識別、檢測、測量程序2剖析(與上篇文章使用了不同方法)

HALCON示例程序ball電路板焊點識別、檢測、測量程序2 示例程序源碼(加注釋) *這是關于顯示的函數,已經介紹過了 dev_update_off () *定義一個字符串變量ImageNames,ImageNames[0]的含義為’die/die_02’以此類推 ImageNames : ‘…

arduino 程序的機制

從一個簡單的 arduino 程序說起: /*BlinkTurns on an LED on for one second, then off for one second, repeatedly.This example code is in the public domain.*/// Pin 13 has an LED connected on most Arduino boards. // give it a name: int led 13;// the…