網(wǎng)站優(yōu)化和推廣方案ppt免費網(wǎng)站大全下載
💝💝💝歡迎來到我的博客,很高興能夠在這里和您見面!希望您在這里可以感受到一份輕松愉快的氛圍,不僅可以獲得有趣的內(nèi)容和知識,也可以暢所欲言、分享您的想法和見解。
- 推薦:kuan 的首頁,持續(xù)學習,不斷總結(jié),共同進步,活到老學到老
- 導航
- 檀越劍指大廠系列:全面總結(jié) java 核心技術(shù)點,如集合,jvm,并發(fā)編程 redis,kafka,Spring,微服務,Netty 等
- 常用開發(fā)工具系列:羅列常用的開發(fā)工具,如 IDEA,Mac,Alfred,electerm,Git,typora,apifox 等
- 數(shù)據(jù)庫系列:詳細總結(jié)了常用數(shù)據(jù)庫 mysql 技術(shù)點,以及工作中遇到的 mysql 問題等
- 懶人運維系列:總結(jié)好用的命令,解放雙手不香嗎?能用一個命令完成絕不用兩個操作
- 數(shù)據(jù)結(jié)構(gòu)與算法系列:總結(jié)數(shù)據(jù)結(jié)構(gòu)和算法,不同類型針對性訓練,提升編程思維,劍指大廠
非常期待和您一起在這個小小的網(wǎng)絡世界里共同探索、學習和成長。💝💝💝 ?? 歡迎訂閱本專欄 ??
博客目錄
給你二叉樹的根結(jié)點
root
,請你將它展開為一個單鏈表:
- 展開后的單鏈表應該同樣使用
TreeNode
,其中right
子指針指向鏈表中下一個結(jié)點,而左子指針始終為null
。- 展開后的單鏈表應該與二叉樹 先序遍歷 順序相同。
輸入:root = [1,2,5,3,4,null,6]
輸出:[1,null,2,null,3,null,4,null,5,null,6]
題解1:
public void flatten(TreeNode root) {//先序遍歷List<TreeNode> list = new ArrayList<>();LinkedList<TreeNode> stack = new LinkedList<>();TreeNode curr = root;TreeNode pop = null;TreeNode p = null;while (curr != null || !stack.isEmpty()) {if (curr != null) {list.add(curr);stack.push(curr);curr = curr.right;} else {final TreeNode peek = stack.peek();if (peek.left == null || peek.left == pop) {pop = stack.pop();} else {curr = peek.left;}}}
}
題解2:
public void flatten(TreeNode root) {LinkedList<TreeNode> stack = new LinkedList<>();TreeNode curr = root;TreeNode pre = null;while (curr != null || !stack.isEmpty()) {while (curr != null) {stack.push(curr);curr = curr.right;}curr = stack.peek();if (curr.left == null || curr.left == pre) {//彈出的節(jié)點curr = stack.pop();curr.left = null;//第一次右節(jié)點為nullcurr.right = pre;//把當前節(jié)點賦值為彈出節(jié)點pre = curr;curr = null;//為了彈出下一個元素} else {curr = curr.left;}}
}
覺得有用的話點個贊
👍🏻
唄。
??????本人水平有限,如有紕漏,歡迎各位大佬評論批評指正!😄😄😄💘💘💘如果覺得這篇文對你有幫助的話,也請給個點贊、收藏下吧,非常感謝!👍 👍 👍
🔥🔥🔥Stay Hungry Stay Foolish 道阻且長,行則將至,讓我們一起加油吧!🌙🌙🌙