(java)Remove Linked List Elements

来源:互联网 发布:淘宝买家留言怎么修改 编辑:程序博客网 时间:2024/04/30 14:07

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

思路:判断p.next.val是否等于val,如果等于则p.next=p.next.next;

注意边界,考虑到最后一个点,while循环的条件应该是p!=null && p.next!=null;

代码如下(已通过leetcode)

public class Solution {
   public ListNode removeElements(ListNode head, int val) {
    while(head!=null && head.val==val) head=head.next;
    ListNode p=head;
    if(p==null) return null;
       while(p!=null&&p.next!=null) {
       
        if(p.next.val==val) {
        if(p.next.next==null) p.next=null;
        else p.next=p.next.next;
       
        else p=p.next;
       }
       return head;
   }
   
}

0 0
原创粉丝点击