标签:list href 使用 baidu bin treenode blank tco root
给定一个二叉树,原地将它展开为一个单链表。
例如,给定二叉树
1
/ 2 5
/ \ 3 4 6
将其展开为:
1
2
3
4
5
6
public void flatten(TreeNode root) {
List<TreeNode> list = new ArrayList<TreeNode>();
// 先使用递归先序遍历, 将其值保存进List
preorderTraversal(root, list);
// 然后遍历List, 将前一个节点和后一个节点串联起来
int size = list.size();
for (int i = 1; i < size; i++) {
TreeNode prev = list.get(i - 1), curr = list.get(i);
prev.left = null;
prev.right = curr;
}
}
public void preorderTraversal(TreeNode root, List<TreeNode> list) {
if (root != null) {
list.add(root);
preorderTraversal(root.left, list);
preorderTraversal(root.right, list);
}
}
``
Medium | LeetCode 114. 二叉树展开为链表
标签:list href 使用 baidu bin treenode blank tco root
原文地址:https://www.cnblogs.com/chenrj97/p/14290740.html