public class Solution { public void connect(TreeLinkNode root) { if (root == null) { return; } Queue<TreeLinkNode> queue = new LinkedList<TreeLinkNode>(); queue.offer(root); while (!queue.isEmpty()) { TreeLinkNode right = null; int size = queue.size(); for (int i = 0; i < size; i++) { TreeLinkNode node = queue.poll(); node.next = right; right = node; if (node.right != null) { queue.offer(node.right); } if (node.left != null) { queue.offer(node.left); } } } } }
[LeetCode] Populating Next Right Pointers in Each Node
原文:http://www.cnblogs.com/vision-love-programming/p/5008990.html