取乙個單向鍊錶的某個節點

2022-03-07 03:13:48 字數 662 閱讀 3218

思路先遍歷整個鍊錶得到長度,然後根據總長度和k得到節點到頭結點的距離

/*

public class listnode }*/

public

class

solution

temp=length-k;

if(head==null || k>length)

return

null

;

while(temp>0)

return

curindex;

}}

思路二 利用兩個指標 類似於快慢指

listnode pre=null,p=null;

//兩個指標都指向頭結點

p=head;

pre=head;

//記錄k值

int a=k;

//記錄節點的個數

int count=0;

//p指標先跑,並且記錄節點數,當p指標跑了k-1個節點後,pre指標開始跑,

//當p指標跑到最後時,pre所指指標就是倒數第k個節點

while(p!=null)

k--;

}//如果節點個數小於所求的倒數第k個節點,則返回空

if(count

向公升序單向鍊錶中插入乙個節點

詳細描述 原型 listnode insertnodetolist listnode plisthead,listnode pinsertnode 輸入引數 listnode plisthead 單向鍊錶 listnode pinsertnode 新插入節點 輸出引數 指標指向的記憶體區域保證有效 ...

乙個簡單的 單向鍊錶

unitunit1 inte ce uses windows,messages,sysutils,variants,classes,graphics,controls,forms,dialogs,stdctrls type tform1 class tform button1 tbutton but...

兩個單向鍊錶的第乙個公共節點

題目 輸入兩個鍊錶,找出它們的第乙個公共節點。鍊錶的定義如下 struct listnode 面試這道題的時候很多的面試者第一反應就是採用蠻力的方法 在第乙個鍊錶上順序遍歷每個節點,每遍歷到乙個節點的時候,在第二個鍊錶上順序遍歷每個節點。如果第二個鍊錶上的節點和第乙個鍊錶上的節點一樣,就說明兩個鍊錶...