递归调用
/* // Definition for a Node. class Node { public int val; public Node left; public Node right; public Node next; public Node() {} public Node(int _val) { val = _val; } public Node(int _val, Node _left, Node _right, Node _next) { val = _val; left = _left; right = _right; next = _next; } }; */ class Solution { public Node connect(Node root) { if (root == null) return null; connectTwoNode(root.left,root.right); return root; } public void connectTwoNode(Node a,Node b){ if (a == null || b == null ) return ; a.next = b; connectTwoNode(a.left,a.right); connectTwoNode(a.right,b.left); connectTwoNode(b.left,b.right); } }