- 题目链接 897. Increasing Order Search Tree
- 题目意思
- 题目让我们按数字的递增顺序把树展平。
- 题目解答
- 用一个全局变量pre当作前一个展好的节点,用dfs分治思想,先展好root左边部分,在处理好当前节点,最后dfs处理右部分节点。
TreeNode pre = null;
public TreeNode increasingBST(TreeNode root) {
TreeNode res = new TreeNode(0);
pre = res;
dfs(root);
return res.right;
}
private void dfs(TreeNode root) {
if (root == null) return;
dfs(root.left);
root.left = null;
pre.right = root;
pre = root;
dfs(root.right);
}

本文介绍了一种将二叉搜索树转换为递增顺序链表的算法。通过使用全局变量和深度优先搜索(DFS)策略,首先遍历左子树,然后处理当前节点,最后遍历右子树,实现树的展平。
348

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



