public Node116(int _val, Node116 _left, Node116 _right, Node116 _next) { val = _val; left = _left; right = _right; next = _next; }
public Node116 Connect(Node116 root) { if (root == null) { return(root); } List <Node116> vs = new List <Node116>(); Node116 head = root; vs.Add(root); vs.Add(new Node116(1001)); while (vs.Count != 0) { if (vs[0].val != 1001) { Node116 temp = vs[0]; if (temp.left != null) { vs.Add(temp.left); vs.Add(temp.right); } if (vs[1].val != 1001) { vs[0].next = vs[1]; } else { vs.Add(new Node116(1001)); } vs.RemoveAt(0); } else { vs.RemoveAt(0); } } return(root); }