解題思路:設定兩個指標,將第乙個指標指向鍊錶的頭結點,第二個指標保持不動,先讓第乙個指標走到第k個節點處,此時將第二個節點從鍊錶的頭結點開始走,當第乙個指標走到鍊錶的null位置時,第二個指標的位置就是倒數第k個節點的位置。
**:
# includeusing namespace std;
struct listnode
}; listnode *findnode(listnode *head,int key)
listnode *p=head;
listnode *q=head;
for(size_t i=0;inext;
} else
}while(p)
return q;
}int main()
求鍊錶倒數第k個節點
1.初解 public static node findkthtotail node head,uint k behind head while ahead.next null return behind 上面的 存在3處魯棒性問題 1 輸入的head為空指標。由於 會試圖訪問空指標指向的記憶體,程...
求煉表中倒數第K個節點
求煉表中倒數第k個節點,思路很簡單我們在遍歷時維持兩個指標,第乙個指標從鍊錶的頭指標開始遍歷,在第k 1步之前,第二個指標保持不動 在第k 1步開始,第二個指標也開始從鍊錶的頭指標開始遍歷。由於兩個指標的距離保持在k 1,當第乙個 走在前面的 指標到達鍊錶的尾結點時,第二個指標 走在後面的 指標正好...
鍊錶倒數第k個節點
兩個指標一前一後,相距k即可。include include using namespace std struct linknode typedef linknode linklist void insertlist linklist list int data else linknode rese...