203. 移除链表元素
题目链接:leetcode
题目描述
java代码
/**
* Definition for singly-linked list.
* public class ListNode {
* int val;
* ListNode next;
* ListNode() {}
* ListNode(int val) { this.val = val; }
* ListNode(int val, ListNode next) { this.val = val; this.next = next; }
* }
*/
class Solution {
public ListNode removeElements(ListNode head, int val) {
if (head == null){
return head;
}
ListNode dummy = new ListNode(-1,head);
ListNode pre = dummy;
ListNode cur = head;
while (cur != null){
if (cur.val == val){
pre.next = cur.next;
}else {
pre = cur;
}
cur = cur.next;
}
return dummy.next;
}
}
测试结果
编辑器中测试
package com.peihj;
import sun.awt.image.ImageWatched;
import java.util.LinkedList;
public class day2 {
public static void main(String[] args) {
// 构建节点
ListNode<Integer> first = new ListNode<Integer>(1,null);
ListNode<Integer> second = new ListNode<Integer>(2,null);
ListNode<Integer> thrid = new ListNode<Integer>(6,null);
ListNode<Integer> foure = new ListNode<Integer>(3,null);
ListNode<Integer> five = new ListNode<Integer>(4,null);
ListNode<Integer> six = new ListNode<Integer>(5,null);
ListNode<Integer> seven = new ListNode<Integer>(6,null);
// 构建链表
first.next = second;
second.next = thrid;
thrid.next = foure;
foure.next = five;
five.next = six;
six.next = seven;
System.out.println(first);
int val = 6;
ListNode list = removeElements(first,val);
System.out.println(list);
}
public static ListNode removeElements(ListNode head, int val) {
if (head == null){
return head;
}
ListNode dummy = new ListNode(-1,head);
ListNode pre = dummy;
ListNode cur = dummy.next;
while (cur != null){
if (cur.val == val){
pre.next = cur.next;
}else {
pre = cur;
}
cur = cur.next;
}
return dummy.next;
}
}
class ListNode<T>{
int val;
ListNode next;
// ListNode() {}
// ListNode(int val) { this.val = val; }
ListNode(int val, ListNode next) { this.val = val; this.next = next; }
@Override
public String toString() {
return val + "-->"+ next;
}
}
参考
https://programmercarl.com/0203.%E7%A7%BB%E9%99%A4%E9%93%BE%E8%A1%A8%E5%85%83%E7%B4%A0.html#%E5%85%B6%E4%BB%96%E8%AF%AD%E8%A8%80%E7%89%88%E6%9C%AC