單鏈表大廠面試題解(韓順平老師版)

2021-10-10 15:01:57 字數 2280 閱讀 8917

//思路:1.編寫乙個方法,接收head節點,同時接收index 節點

// 2.index 表示倒數第 index 個節點

// 3.先把鍊錶從頭到尾遍歷,得到鍊錶的總長度

// 4.得到size後,我們從鍊錶第乙個開始遍歷,遍歷(size - index)個

// 5.如果找到返回該節點,找不到返回空

public

static student findlastindexstudent

(student head,

int index)

int size =

getlength

(head)

;//做乙個index校驗

if(index <=

0|| index >size)

//定義乙個輔助遍歷,for迴圈定位到index位置上

student temp = head.next;

for(

int i=

0;i)return temp;

}//思路:1.先定義乙個新的節點,當新鍊錶的頭節點

// 2.遍歷舊的鍊錶,每次遍歷到乙個節點就將其拿出,放到新的鍊錶中

// 3.接下來每次遍歷取出的節點,都放到之前那個節點的前面插入

// 4.最後將原始的頭節點指向新的鍊錶的節點

public

static

void

reverselist

(student head)

student reversehead =

newstudent(0

,"",0

);student temp = head.next;

//原鍊錶的輔助指標

student temp1 = null;

//指向當前節點temp下乙個節點

while

(temp != null)

head.next=reversehead.next;

}//思路:使用棧的思想,先進後出

public

static

void

reverseprint

(student head)

//建立乙個棧,將各個節點壓入棧中

stack

stack =

newstack

();student temp = head.next;

//將各個節點壓入

while

(temp != null)

//列印棧中的節點

while

(stack.

size()

>0)

}}

public

class

singlelinkedlistdemo

//獲取節點的個數

/** *

* @param head 頭節點

* @return 返回有效節點個數

*/public

static

intgetlength

(student head)

while

(temp != null)

return length;

}class

student

@override

public string tostring()

';}}

//定義單鏈表,管理學員資訊

class

singlelinkedlist1

//分析:新增節點到鍊錶:

public

void

add(student student)

if(temp.next.no >student.no )

else

if(temp.next.no == student.no)

temp=temp.next;

}//flag判斷

if(flag)

else

}//顯示

public

void

showinfo()

//仍然建立乙個輔助指標,頭節點不能動

student temp = head.next;

while

(true

)//輸出節點資訊

system.out.

println

(temp)

;//將temp後移

temp = temp.next;}}

}

周老師突擊大廠面試題記錄

對於雙向繫結的理解 vue2.0 對比 vue3.0 首先 vue2.0 雙向繫結使用的是 object.defineproperty 具體 vue 2 var obj 深拷貝 let newobj json parse json stringify obj object.definepropert...

面試題 單鏈表反轉

問題 定義乙個函式,輸入乙個鍊錶的頭結點,反轉該鍊錶並輸出反轉後鍊錶的頭結點。一 非遞迴演算法 假設有鍊錶a b c d e f g。在反轉鍊錶過程中的某一階段,其鍊錶指標指向為 a b c d e f g。也就是說在結點d之前的所有結點都已經反轉,而結點d後面的結點e開始的所有結點都沒有反轉。這樣...

單鏈表的面試題

自定義標頭檔案部分 void deletenottail pnode pos 刪除乙個無頭單鏈表的非尾節點 void insertnothead pnode phead,pnode pos,datatype data 在無頭單鏈表的乙個非頭節點前插入乙個節點 void josephcircle pn...