*Remove Linked List Elements

mac2022-06-30  86

题目:

Remove all elements from a linked list of integers that have value val.

Example

Given: 1 –> 2 –> 6 –> 3 –> 4 –> 5 –> 6, val = 6

Return: 1 –> 2 –> 3 –> 4 –> 5

 

解法一:

/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode(int x) { val = x; } * } */ public class Solution { public ListNode removeElements(ListNode head, int val) { if(head==null) return null; ListNode dummy=new ListNode(0); dummy.next=head; ListNode pre=dummy; ListNode cur=head; while(cur!=null){ if(cur.val==val){ pre.next=cur.next; cur=cur.next; }else{ pre=cur; cur=cur.next; } } return dummy.next; } }

 

解法二:

public ListNode removeElements(ListNode head, int val) { if (head == null) return null; head.next = removeElements(head.next, val); return head.val == val ? head.next : head; }

 

 

reference:

http://www.senonweb.com/?p=517

http://bookshadow.com/weblog/2015/04/24/leetcode-remove-linked-list-elements/

转载于:https://www.cnblogs.com/hygeia/p/4754586.html

相关资源:JAVA上百实例源码以及开源项目
最新回复(0)