首页 > 代码库 > LeetCode -- Flatten 二叉树
LeetCode -- Flatten 二叉树
这个题目主要考察二叉树的先序遍历。
1. 先序遍历
2. 节点用队列存储
3. 遍历队列,建立链表
实现:
1. 先序遍历
2. 节点用队列存储
3. 遍历队列,建立链表
实现:
public class Solution { public void Flatten(TreeNode root) { if(root == null) { return; } Travel(root); root = _nodes[0]; root.left = null; root.right = null; for(var i = 1;i < _nodes.Count; i++){ var l = _nodes[i]; l.left = null; l.right = null; root.right = l; root = root.right; } } private List<TreeNode> _nodes = new List<TreeNode>(); private void Travel(TreeNode root){ _nodes.Add(root); if(root.left != null){ Travel(root.left); } if(root.right != null){ Travel(root.right); } } }
LeetCode -- Flatten 二叉树
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。