首页 > 其他 > 详细

移除链表元素

时间:2020-04-19 10:16:40      阅读:59      评论:0      收藏:0      [点我收藏+]

此博客链接:

移除链表元素()

题目链接:

 

 

 

 

题解:

 

错误情况1:没有考虑链表为空时,返回空。

错误情况2:没有考虑链表中元素不止一个,且和给定值都相等,此时返回空。

技术分享图片

 错误代码:

class Solution {
    public ListNode removeElements(ListNode head, int val) {
        if(head==null)
            return null;
        if(head.val==val&&head.next==null)//第一个数相等,链表只有一个数,返回空
            return null;
        if(head.val!=val&&head.next==null)//第一个数不相等,但是链表中只有一个数,返回头结点
                return head;
        while(head!=null)
        {
            if(head.val==val&&head.next.next!=null&&head.next.val!=val)//第一个数相等,但是链表不止一个数,头节点指向下一个节点
            {
                 ListNode cur=head;
                head=head.next;
            }
            if(head.val==val&&head.next.next!=null&&head.next.val==val)//第一个数相等,但是链表不止一个数,头节点指向下一个节点
            {
                 ListNode cur=head.next;
                head=head.next.next;
            }
            if(head.val==val&&head.next.next==null&&head.next.val==val)//第一个数相等,但是链表不止一个数,头节点指向下一个节点
            {
              head=head.next.next;
              return head;
            }
               
            // if(head.val==val&&head.next==null)//第一个数相等,但是是最后一个节点
            // {
            //       head.next=null;
            //       return head;
            // }
             
             else {
                ListNode cur=head;
                 break;
        }
        }
        //if(head.val!=val&&head.next!=null)//第一个数不相等,链表中有多个数
            ListNode cur=head;
        while(cur.next!=null)
        {
            if(cur.next.val==val&&cur.next.next!=null)
               cur.next=cur.next.next;
            else if(cur.next.val==val&&cur.next.next==null)
               cur.next=null;
            else if(cur.next.val!=val&&cur.next.next==null)
                return head;
            else 
               cur=cur.next;
        }
         return head;
    }
}

 

移除链表元素

原文:https://www.cnblogs.com/ping2yingshi/p/12730036.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!