剑指 Offer 36. 二叉搜索树与双向链表


思路
中序遍历,各个指针设置好即可
代码
class Solution {
Node head,pre;
public Node treeToDoublyList(Node root) {
if(root==null)return null;
dfs(root);
head.left=pre;
pre.right=head;
return head;
}
public void dfs(Node root){
if(root==null)return;
dfs(root.left);
if(pre!=null){
pre.right=root;
}
else{
head=root;
}
root.left=pre;
pre=root;
dfs(root.right);
return;
}
}
这篇博客讲解了如何使用中序遍历策略将给定的二叉搜索树转换成双向链表,通过递归实现节点的连接。重点在于理解dfs遍历的运用和指针的巧妙操作。

被折叠的 条评论
为什么被折叠?



