首页 > 代码库 > Flatten Binary Tree to Linked List
Flatten Binary Tree to Linked List
题目
Given a binary tree, flatten it to a linked list in-place.
For example,
Given1 / 2 5 / \ 3 4 6The flattened tree should look like:1 2 3 4 5 6
方法
先将根节点的左子树连接到右边,在递归处理子节点。public void flatten(TreeNode root) { if(root == null) return; TreeNode left = root.left; TreeNode right = root.right; if(left != null){ root.right = left; root.left = null; TreeNode rightmost = left; while(rightmost.right != null){ rightmost = rightmost.right; } rightmost.right = right; } flatten(root.right); }
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。