鍊錶倒數第K的節點

2021-09-29 12:28:03 字數 727 閱讀 4042

牛客網的題目描述如下:

輸入乙個鍊錶,輸出該鍊錶中倒數第k個結點。

public

class

solution

if(k <=0)

listnode fast = head;

listnode slow = head;

while

(k -

1>0)

else

}while

(fast.next != null)

return slow;

}}

力扣網的題目描述如下:

給定乙個鍊錶,刪除鍊錶的倒數第 n 個節點,並且返回鍊錶的頭結點。

class

solution

listnode prev = null;

listnode cur = head;

int offset = len - n;

for(

int i =

0;i < offset;i++)if

(n == len)

prev.next = cur.next;

return head;

}public

intsize

(listnode head)

return count;

}}

兩道題目歸根結底都是要找到倒數第k個節點。

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

鍊錶的倒數第k個節點

鍊錶的倒數第k個節點 即鍊錶從頭開始的第 n k 1 個節點 n為鍊錶節點總數。1 遍歷兩次鍊錶 第一次統計出鍊錶的節點數,第二次從頭節點開始往後走 n k 1 步即是倒數第k個節點 2 遍歷一次鍊錶 使用兩個指標p1和p2,開始均指向頭節點 第乙個指標p1從頭節點開始往後走 k 1 步,第二個指標...