把一颗二叉树转为顺序排列的双向链表
2015-10-01 12:06
274 查看
最开始的思路是中序遍历,把遍历得到的节点一次插入到ArrayList中,然后再进行处理。
但是一般树的处理都可以用遍历解决,遍历在很大程度上都会简化思路,简化代码,所以最好用遍历来解决。
class Node {
int val;
Node right;
Node left;
}
public class Solution {
public Node tow (Node root) {
if (root == null)
return null;
Node left = tow(root.left);
while (left.right != null)
left = left.right;
left.right = root;
root.left = left;
Node right = tow(root.right);
root.right = right;
right.left = root;
return left;
}
}
但是一般树的处理都可以用遍历解决,遍历在很大程度上都会简化思路,简化代码,所以最好用遍历来解决。
class Node {
int val;
Node right;
Node left;
}
public class Solution {
public Node tow (Node root) {
if (root == null)
return null;
Node left = tow(root.left);
while (left.right != null)
left = left.right;
left.right = root;
root.left = left;
Node right = tow(root.right);
root.right = right;
right.left = root;
return left;
}
}
相关文章推荐
- HTML,CSS,font-family:中文字体的英文名称 (宋体 微软雅黑)
- 【Linux驱动】LCD驱动测试
- 【看别人的,学习】文本增强,再也不怕用户要修改标准界面的字段描述了
- ip转换为纯数字(如何用数字表示ip?)
- Endnote x7.2 下载 破解 word2013关联
- HDU4960Another OCD Patient(间隙dp,后座DP)
- 代理模式 之案例
- 两侧固定中间自适应三栏布局
- 开发基于Java的图形用户界面
- 黑马程序员——OC语言基础---对象和方法
- tinyPng Photoshop Plugin 安装的坑
- 转个堆与栈的区别
- 11-java学习笔记-反射
- POJ 3692:Kindergarten 求补图的最大点独立集 头一次接触这样的做法
- POJ 3692:Kindergarten 求补图的最大点独立集 头一次接触这样的做法
- 初探Java类加载机制
- KMP算法初探
- java篇 【7】方法(函数)的声明及使用
- 使用批处理bat作为日期系统日期的前三天
- 设计模式-----观察者模式(Obsever)