找到倒數第K個節點

2021-09-13 11:55:49 字數 702 閱讀 6965

倒數節點:

讓第乙個節點先走k(倒數步數)

第二個結點從頭結點開始走;

public listnode findkthtotail

(listnode head,

int k)

listnode first=head;

listnode second=head;

for(

int i=

0;i)else

}while

(first!=null)

return second;

方法二: 1.看看一共有多少個結點,

2.看這個倒數的結點在整數的第幾個

​ 3.總個數-倒數步數就是 倒數節點在的位置

public listnode findkthtotail

(listnode head,

int k)

/* size=6

k:1->6

k:2->5

k:3->4

k:4->3

k:5->2

k:6->1*/

listnode temp=head;

if(k<

0||k>size)

for(

int i=

0;i)return temp;

}

返回倒數第 k 個節點

實現一種演算法,找出單向鍊錶中倒數第 k 個節點。返回該節點的值。注意 本題相對原題稍作改動 示例 輸入 1 2 3 4 5 和 k 2 輸出 4 說明 給定的 k 保證是有效的。說明 雙指標,第乙個指標先前進k步,然後兩個指標同時往前走,一直到第乙個指標指向表尾空 definition for s...

鍊錶倒數第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...