倒數節點:
讓第乙個節點先走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...