这道题一开始写的时候没有思路,还是看了力抠大佬的题解,链接就不附上了,题解第一个就是了
代码:
public class Solution {
Node pre;
Node head;
public Node treeToDoublyList(Node root) {
if (root == null) return null;
centerOrder(root);
head.left = pre;
pre.right = head;
return head;
}
private void centerOrder(Node curr) {
if (curr == null) return;
centerOrder(curr.left);
if (pre == null) {
head = curr;
} else {
pre.right = curr;
}
curr.left = pre;
pre = curr;
centerOrder(curr.right);
}
}