6 7 3求鍊錶倒數第n項

2021-08-08 17:29:08 字數 761 閱讀 1088

求鏈式線性表的倒數第k項

1.建立雙向鍊錶

注意查詢錯誤位置輸出

2.考研題思路

定義兩個指標a,b,都指向煉表頭節點,然後將b向後移k次,再將a,b同時向後移,當b到達鍊錶末尾時a指向的那個節點值即是倒數第k項。注意特殊情況的考慮,比如鍊錶總長度剛好等於k或者小於k等。

#include#includetypedef struct node *ptrnode;  

typedef ptrnode linklist; //頭結點

typedef ptrnode position;//中間節點

typedef int elementtype;

struct node;

linklist creatlist(void)

r->next = null;

return head;

}

void printlastkth(linklist l, int k)

if(hb == null)

printf("null");

else

printf("%d",ha->element);

} }

void destroylinklist(linklist l)

l = null;

}

int main(void)

鍊錶倒數第n個數

問題描述 找到鍊錶中的倒數第n個結點,返回它的值 如給定3 2 1 5 null和2,返回1。解題思路 設定兩個指標,先讓第乙個指標跑到指定的位置,此時第二個指標和第乙個指標一起跑,跑的快的指標到達null時,另乙個指標就指向要找的結點了。實現 class solution if head next...

鍊錶倒數第n個節點

題目 鍊錶倒數第n個節點 問題描述 找到單鏈表倒數第n個節點,保證鍊錶中節點的最少數量為n。如 給出鍊錶 3 2 1 5 null 和n 2,返回倒數第二個節點的值1.思路 遍歷整個鍊錶,計數鍊錶元素的個數。第二遍遍歷鍊錶,到倒數第n個節點處停止,輸出第n個節點。class solution int...

鍊錶倒數第n個節點

問題描述 找到單鏈表倒數第n個節點,保證鍊錶中節點的最少數量為n。樣例 給出鍊錶 3 2 1 5 null和n 2,返回倒數第二個節點的值1.解題思路 建立新煉表來建立兩個指標dummy和head,用head遍歷鍊錶得出鍊錶的長度。用dummy進行for迴圈,遍歷到第sum 1個節點,就得到倒數第n...