删除链表节点

题目描述

给定单向链表的头指针和一个要删除的节点的值,定义一个函数删除该节点。

返回删除后的链表的头节点。

题目思路

  1. 判断删除节点的值和头结点相等吗,如果是那么返回头结点的下一个节点。
  2. 遍历链表找到删除节点的位置。
  3. 删除节点
 public ListNode deleteNode(ListNode head, int val) {
        //遍历链表找到节点
        ListNode temp = head;
        //头结点就是删除节点
        if (temp.val == val){
            head = head.next;
        }else {
            //头结点不是删除节点
            while (temp.next.val != val || temp.next == null) {
                temp = temp.next;
            }
            //删除该节点
            temp.next = temp.next.next;
        }
        return head;
    }
posted @ 2020-08-05 13:43  杨小星儿  阅读(171)  评论(1)    收藏  举报