您的位置:首页 > 其它

把一颗二叉树转为顺序排列的双向链表

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;
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: