删除指定位置的结点educoder

    科技2025-10-16  13

    总结: 注意给出待删除结点i的值不能超过索引(0~n-1),不能低于索引0.这里只需要区分是否删除头结点 和 非头结点.

    node * delAt(node * h, int i) { // 请在此添加代码,补全函数delAt /********** Begin *********/ if(i<0) return h; // node* p=NULL,*q = h; for(int j=0; j<i; j++){ if(q->next == NULL) return h; //索引超出范围 p = q; q = q->next; } //p结点滞后于q结点. if(p){ //不是删除头节点 p->next = q->next; delete q; return h; } else{ //删除头节点 h = q->next; delete q; return h; } /********** End **********/ }
    Processed: 0.014, SQL: 8