Пример #1
0
        public void Method_237_1()
        {
            //请编写一个函数,使其可以删除某个链表中给定的(非末尾)节点。传入函数的唯一参数为 要被删除的节点 。
            // 输入:head = [4, 5, 1, 9], node = 5
            //输出:[4,1,9]
            //解释:给定你链表中值为 5 的第二个节点,那么在调用了你的函数之后,该链表应变为 4-> 1-> 9.
            var node       = DataStructures.GeneratorListNode(new int[] { 4, 5, 1, 9 });
            var deleteNode = node.Next;

            deleteNode.Val  = deleteNode.Next.Val;
            deleteNode.Next = deleteNode.Next.Next;
            Assert.Equal(node.ToString(), "4,1,9");
        }
Пример #2
0
        public void Method_237()
        {
            //请编写一个函数,使其可以删除某个链表中给定的(非末尾)节点。传入函数的唯一参数为 要被删除的节点 。
            // 输入:head = [4, 5, 1, 9], node = 5
            //输出:[4,1,9]
            //解释:给定你链表中值为 5 的第二个节点,那么在调用了你的函数之后,该链表应变为 4-> 1-> 9.
            var node = DataStructures.GeneratorListNode(new int[] { 4, 5, 1, 9 });

            for (ListNode current = node; current != null; current = current.Next)
            {
                if (current.Next != null && current.Next.Val == 5)
                {
                    current.Next = current.Next.Next;
                }
            }
            Assert.Equal(node.ToString(), "4,1,9");
        }