100題 第十三題(輸出倒數第k個節點)

2021-08-26 13:31:44 字數 577 閱讀 3790

一,題目:輸入乙個單向鍊錶,輸出該鍊錶中倒數第k個結點,鍊錶的倒數第0個結點為鍊錶的尾指標。

二,分析:這是某一年的考研試題中,資料結構的乙個題。題目本身難度不大。

三,思路:設定兩個指標p1,p2;

p1=head; p2=head;

先讓p2向前走k步,然後同時讓p1,p2向後走。

當p2走到頭的時候,p1所指的節點就是所求節點。

四,原始碼:

#include "stdio.h" #include "malloc.h" struct node ; node* fun(node *head,int k) return p1; } int main() printf("-------輸出第二個數--------\n"); printf("%d\n",fun(head,2)->data); //cout<<"---------------"

微軟100題(第十三題)

題目 輸入乙個單向鍊錶,輸出該單向鍊錶中倒數第k個結點,鍊錶的倒數第0個結點為鍊錶的尾指標 個人 第一步 定義單向鍊錶的結點,和鍊錶linklist結構體 include using namespace std typedef struct node node typedef struct node...

100題 找出鍊錶倒數第k個元素

查詢鍊錶中倒數第k個節點 include using namespace std 定義鍊錶節點結構 struct listnode 建立不帶頭結點的單鏈表 void createlist listnode head else cin num return temp 列印鍊錶 void printli...

刷題筆記11 輸出鍊錶倒數第k個結點

輸入乙個鍊錶,輸出該鍊錶中倒數第k個結點。首先把頭結點賦值給p,如果頭結點不為零,則從0開始計算鍊錶的長度,不斷讓其指向下乙個結點。進而得到鍊錶的表長。可能鍊錶長度會小於k,所以要判斷一下 然後用表長得到倒數第k個數,再遍歷一次鍊錶即可 struct listnode class solution ...