public void addIndex(int index,int data){
if (index<0||index>size()) {
throw new RuntimeException("index位置不合法");
}
if (index == 0) {
addFirst(data);
return;
}
if (index == size()) {
addLast(data);
return;
}
//1、找到index-1的位置
Node prev = findIndex(index);
Node node = new Node(data);
node.next = prev.next;
prev.next = node;
}
//走index-1步
private Node findIndex(int index) {
Node cur = this.head;
int count = 0;
while (count < index-1) {
cur = cur.next;
count++;
}
return cur;
}