java单链表删除所有指定元素


class Node{
    public String data;
    public Node next = null;
}

public class Main {

    public static Node listRemove(Node head, String s){
        // 头节点删除
        if (s.equals(head.data)) return head.next;

        Node pre = head;
        Node headTmp = head;

        while (head != null){
            if (s.equals(head.data)){
                pre.next = head.next;
                head = pre.next;
            }else{
                pre = head;
                head = head.next;
            }
        }
        System.out.println(headTmp.data);
        return headTmp;
    }

    public static void main(String[] args) {

        Node n1 = new Node();
        n1.data="a";

        Node n2 = new Node();
        n2.data="c";

        Node n3 = new Node();
        n3.data="c";

        Node n4 = new Node();
        n4.data="d";

        n1.next=n2;
        n2.next=n3;
        n3.next=n4;

        Node newList = listRemove(n1, "a");  // 链表头删除
//        Node newList = listRemove(n1, "c");   // 链表中删除
//        Node newList = listRemove(n1, "d");   // 链表尾删除
        
        System.out.println(newList.data);
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值