#题目
#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++;
}
删除和指定插入方法类似