本文共 790 字,大约阅读时间需要 2 分钟。
给定一个链表,再给定一个数val,要求删去链表中所有等于val的节点。代码如下:
public class Solution { /** * @param head: a ListNode * @param val: An integer * @return: a ListNode */ public ListNode removeElements(ListNode head, int val) { // write your code here // 用一个dummy node连在链表前面 ListNode dummy = new ListNode(0); dummy.next = head; ListNode prev = dummy; while (prev.next != null) { if (prev.next.val == val) { prev.next = prev.next.next; } else { prev = prev.next; } } return dummy.next; }}class ListNode { int val; ListNode next; ListNode(int x) { val = x; }}
时间复杂度 O ( n ) O(n) O(n),空间 O ( 1 ) O(1) O(1)。
转载地址:http://sbds.baihongyu.com/