#题目
#3,5和6的代码
今天看剩下几个题的代码,1,2,4的代码已经在上篇博客写过了想看的小伙伴移步到:
力扣707题——设计链表-CSDN博客
//第3题头插法
void addAtHead(int val){
//记录头结点
ListNode n=head;
//新节点的创建,并让它指向原本头结点的后继节点
ListNode s=new ListNode(val,n.next);
//再让头结点指向新节点
n.next=s;
//元素个数加一
N++;
}
//di5题在指定位置前插入
void addAtIndex(int index,int val){
if(index < 0||index >N){
return -1;
}
//找到index的前一个结点
//找到index节点
ListNode pre=head;
for(int i=0;i<index;i++){
pre=pre.next;
}
ListNode curr=pre.next;
//建立值为val的新节点,并让新节点指向index节点
ListNode newNode=new ListNode(val,curr);
pre.next=newNode;
N++;
}
删除和指定插入方法类似