單行鍊錶尋找倒數第k個節點

2021-06-09 16:32:00 字數 621 閱讀 1070

/**

*題目介紹:給出乙個單向鍊錶,輸出該鍊錶的倒數第k個節點

*           設尾節點開始從0編號

*/解題思路:兩個指標往後移動,一定要注意邊界的處理情況。此處我設定了乙個頭指標,頭指標不存資料,僅僅作為頭標誌。

/***題目介紹:給出乙個單向鍊錶,輸出該鍊錶的倒數第k個節點

* 設尾節點開始從0編號

*/#include #include #include using namespace std;

struct node

*head;

inline void nodeinit(struct node *n)

void creatnodelist()

}int findlastk(int k)

void print()

int main()

{ cout << "create node list:" << endl;

creatnodelist();

print();

int k;

cout<<"\ninput k :";

scanf("%d",&k);

cout<<"\nthe last "<

鍊錶倒數第k個節點

兩個指標一前一後,相距k即可。include include using namespace std struct linknode typedef linknode linklist void insertlist linklist list int data else linknode rese...

鍊錶 倒數第k個節點

問題 刪除倒數第k個節點 鏈結 雙指標法,開始時p1,p2都指向頭節點,先讓p2走k步,然後p1和p2一起走,當p2指向null時,p1就指向倒數第k個節點了 definition for singly linked list.struct listnode class solution retur...

鍊錶中倒數第k個節點

題目 輸入乙個鍊錶,輸出該鍊錶中倒數第k個結點。struct listnode方法 定義兩個指標。第乙個指標從鍊錶的頭指標開始遍歷向前走k 1,第二個指標保持不動 從第k步開始,第二個指標也開始從鍊錶的頭指標開始遍歷。由於兩個指標的距離保持在k 1,當第乙個 走在前面的 指標到達鍊錶的尾結點時,第二...