日本搞逼视频_黄色一级片免费在线观看_色99久久_性明星video另类hd_欧美77_综合在线视频

國內最全IT社區平臺 聯系我們 | 收藏本站
阿里云優惠2
您當前位置:首頁 > php開源 > php教程 > 二叉搜索樹與雙向鏈表

二叉搜索樹與雙向鏈表

來源:程序員人生   發布時間:2016-07-08 16:12:13 閱讀次數:2439次

題目

輸入1棵2叉搜索樹,將該2叉搜索樹轉換成1個排序的雙向鏈表。要求不能創建任何新的結點,只能調劑樹中結點指針的指向。

解題

這里寫圖片描述

這里寫圖片描述
根據上圖可以發現是中序遍歷的進程
但是我們需要改變其結點關系
中序遍歷:左根右
調劑后:
root.left = ListLeft
ListLeft.right = root

root.right = ListRight
ListRight.left = root
下面程序為了返回值就是頭節點,所有先遍歷右子樹,后調劑結點,最后遍歷左子樹。

public class Solution { TreeNode list = null; public TreeNode Convert(TreeNode pNode){ if(pNode ==null) return pNode; TreeNode pCur = pNode; if(pCur.right!=null) Convert(pCur.right); pCur.right = list; if(list!=null) list.left = pCur; list = pCur; if(pCur.left!=null) Convert(pCur.left); return list; } }

討論中左根右遞歸程序

/** public class TreeNode { int val = 0; TreeNode left = null; TreeNode right = null; public TreeNode(int val) { this.val = val; } } */ public class Solution { public TreeNode Convert(TreeNode root) { if(root==null) return null; if(root.left==null&&root.right==null) return root; TreeNode left=Convert(root.left);// 最左結點,頭結點 TreeNode tmpLeft=left; // 找到最右結點 while(tmpLeft!=null&&tmpLeft.right!=null){ tmpLeft=tmpLeft.right; } if(left!=null){// 調劑 tmpLeft.right=root; root.left=tmpLeft; } TreeNode right=Convert(root.right); if(right!=null){ root.right=right; right.left=root; } return left!=null?left:root; } }
生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關閉
程序員人生
主站蜘蛛池模板: 日本久久久 | 美女视频国产 | av免费在线播放网站 | 欧美精品在线观看 | 亚洲精品大片www | 91精品国产乱码久久久久久 | 国产成人精品在线观看 | 欧美日韩在线一区 | 99视频网站 | 999精品视频在这里 亚洲一级免费观看 | 这里只有精品在线 | 免费国产福利 | 艹逼网| 九九视频网站 | 国产三级网站 | 色婷婷激情一区二区三区 | 福利视频网址导航 | 99re视频| 国产精品黄在线观看 | 国产福利91 | 国产高潮在线观看 | 在线啊v | 久久久久成人精品 | 日韩欧美在线观看视频 | 国产精品美女久久久 | 成人免费视频一区二区 | 在线视频 91 | 最近中文字幕mv免费高清在线 | 在线视频99 | 精品一区二区三区中文字幕 | 国产免费一级片 | 亚洲国产成人精品久久久国产成人 | 天堂精品一区二区三区 | 美女又黄又免费 | 91麻豆精品一区二区三区 | 欧美日韩一区二区三区不卡 | 国产综合精品一区二区三区 | 色偷偷网站视频 | 一区二区三区中文字幕 | 久久麻豆精品 | 麻豆一级 |