博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
FG面经Prepare: BST to Double LinkedList
阅读量:6842 次
发布时间:2019-06-26

本文共 824 字,大约阅读时间需要 2 分钟。

BST to double linkedlist in inorder traversal sequence Follow Up: 如果这个BST自带prev, next, 给一个value,插进去这个node,并补全left,right,prev,next

 

1 class TreeNode { 2  public int val; 3  TreeNode left; 4  TreeNode right; 5 } 6  7 TreeNode newRoot 8  9 TreeNode tree2Dll(TreeNode root) {10   TreeNode pre = null;11   TreeNode newRoot = null;12   helper(root, pre);13   return newRoot;14 }15 16 public void helper(TreeNode cur, TreeNode pre) {17   if (cur == null) {18     return;19   }20   helper(cur.left, pre);21   cur.left = pre;22   if (pre == null) {23      newRoot = cur;24   }25   else pre.right = cur;26   pre = cur;27   helper(cur.right, pre, newRoot);28 }

 

Follow up:

第一步完成基础上,把这个new value插入BST中,一边插入一边记录沿途的大于value的root node(即走了该root node的left child),作为inorder successor. 找到inorder successor之后,通过其prev指针找到inorder predecessor, 改指针就好了

转载地址:http://ebdul.baihongyu.com/

你可能感兴趣的文章
LVS的三种负载均衡技术,八大负载调度算法
查看>>
linux 常用小命令
查看>>
AIX系列------ISO挂载
查看>>
重启citrix服务器,无法打开发布的程序
查看>>
按照文件名中包含的版本号信息对文件名列表进行排序
查看>>
jQuery学习笔记3:过滤器
查看>>
第四课:单用户及救援模式(一)
查看>>
zabbix企业应用:利用自动发现监控IIS站点
查看>>
table 去掉 td之间间距
查看>>
根据status信息对MySQL服务器进行优化-1
查看>>
sui picker,datetimepicker,citypicker代码整理
查看>>
Redis基础教程第2节 Redis和NoSql 介绍与应用场景
查看>>
CentOS6.6下设置grub密码方法
查看>>
Linux下DHCP服务器配置
查看>>
创建数据库恢复
查看>>
一步一步教你使用AgileEAS.NET基础类库进行应用开发-基础篇-使用UDA操纵SQL语句...
查看>>
VS2010与IIS Express
查看>>
jdis操作redis cluster
查看>>
算法学习之路|最小生成树——prime算法
查看>>
如何授予邮箱的代理发送权限
查看>>