Пример #1
0
 public Node116(int _val, Node116 _left, Node116 _right, Node116 _next)
 {
     val   = _val;
     left  = _left;
     right = _right;
     next  = _next;
 }
Пример #2
0
        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);
        }