zoukankan      html  css  js  c++  java
  • 203--Remove LinkedList Elements

    package LinedList;

    public class RemoveLinkedListElements {
    //解法一:循环
    public ListNode removeElements(ListNode head, int val) {
    while (head!=null&&head.val==val){
    ListNode temp=head;
    head=temp.next;
    temp.next=null;
    }
    if (head==null)
    return null;
    ListNode previous=head;
    while (previous.next!=null){
    if (previous.next.val==val){
    ListNode temp=previous.next;
    previous.next=temp.next;
    temp.next=null;
    }
    else{
    previous=previous.next;
    }
    }
    return head;
    }
    //解法二,使用虚拟头节点的循环。
    public ListNode removeElements2(ListNode head, int val) {
    ListNode dummyHead=new ListNode(-1);
    dummyHead.next=head;
    ListNode previous=dummyHead;
    while (previous.next!=null){
    if (previous.next.val==val){
    ListNode temp=previous.next;
    previous.next=temp.next;
    temp.next=null;
    } else {
    previous=previous.next;
    }
    }
    return dummyHead.next;
    }
    //解法三:使用递归。
    public ListNode removeElements3(ListNode head, int val) {
    if(head==null)
    return null;
    head.next=removeElements(head.next,val);
    return head.val==val?head.next:head;
    }
    }
  • 相关阅读:
    7.19 repeater的用法:
    7.18 内置对象
    7.17 三级联动 控件及JS简单使用
    7.15 简单控件 以及 复合控件
    7.14 Repeater
    7.14 ASP.NET介绍 基础
    phpcms图文总结(转载)
    phpcms图文总结(转)
    商业php软件的应用
    php前段时间复习
  • 原文地址:https://www.cnblogs.com/zhangyuhao/p/11356810.html
Copyright © 2011-2022 走看看