逆置單鏈表 求倒數第k個結點

2021-09-30 13:48:03 字數 855 閱讀 8710

定義並建立鍊錶:

#include using namespace std;

#include typedef struct listnode

}listnode;

void push(listnode** list,int x)

else

cur->_next = tmp;

}}

逆置單鏈表:

listnode* listreverse(listnode* list)

listnode* cur = list;

listnode* prev = null;

listnode* tmp = null;

while (cur)

return prev;

}

求倒數第k個結點:

listnode* findknode(listnode* list,int k)

listnode* fast = list;

listnode* slow = list;

for (int i=0; i_next != null)

else //給的數值超過範圍

}while (fast)

return slow;

}

實現乙個add函式,讓兩個數相加,但是不能使用+、-、*、/等四則運算符。ps:也不能用++、--等等:

int add(int a,int b)

while (b);

return a;

}

逆置單鏈表以及求鍊錶倒數第k個結點 題集(二)

逆置單鏈表及求鍊錶倒數第k個結點 題集 二 今天分享一下兩道練習題,即逆置單鏈表以及求鍊錶倒數第 k個結點,要求時間複雜度為o 1 首先分享一下逆置單鏈表的 和執行介面。單鏈表分為帶頭結點的單鏈表和不帶頭結點的單鏈表。源 如下 includeusing namespace std 逆置 反轉單鏈表,...

習題 求單鏈表的倒數第k個結點

1 思路 1 定義兩個指標指向頭結點 2 讓其中乙個指標向後移動k 1個結點 為了讓兩個指標之間的距離和倒數第k個節點到尾結點的距離保持一致 3 兩個指標同時向後移動,直到乙個指標指向尾結點,此時另乙個指向的就是k結點。2 實現 1 seqlist.h pragma once typedef int...

刪除單鏈表倒數第k個結點

在資料結構這一方面,鍊錶這塊容易搞混的是它的指標。下面的演算法為刪除單鏈表倒數第k個結點,所有的步驟解析都在 裡說明了。刪除單鏈表的倒數第 k個結點.結點定義 classnode public classremotelastedkthnode node node head 遍歷一遍鍊錶,得到 k 最...