在单链表中删除指定值的节点

来源:互联网 发布:mac邮箱无法验证账户 编辑:程序博客网 时间:2024/06/05 15:21

【题目】

给定一个链表的头节点head和一个整数Num,实现将值为num的节点全部删除。

【举例】

链表为1->2->3->4->null,num=3,
调整后为:1->2->4->null

【代码】

//在单链表中删除指定值的节点    public static Node removeValue(Node head,int num){        while(head!=null){//找到第一个不为num的节点,作新头节点            if(head.value!=num){                break;            }            head=head.next();        }        Node pre=head;        Node cur=head;        while(cur!=null){            if(cur.value==num){//cur节点值为num                pre.next=cur.next;                //删除cur节点:将之前一个值不等于num的节点pre连接到cur的下一个节点            }            else{//cur节点值不为Num                pre=cur;//更新最近一个值不为Num的节点            }            cur=cur.next;        }        return head;    }

【疑问】

没有学到链表和节点,Node是否是自定义类?
该看完Java视频,该看看算法导论,该看看数据结构….
可是这些真的跟测试有关吗…