單鏈表面試例項運用

2021-10-05 02:34:11 字數 1283 閱讀 1906

在之前的部落格中已經通過編碼實現了鍊錶的基本結構,此處將會以面試真題進行進一步運用。

查詢單鏈表中的倒數第k個結點:

思路:獲取鍊錶第h.getlength() - k + 1個節點(h為鍊錶)

**實現:

public

static object getnumber

(linklist h,

int num)

throws exception

if(num<

0||num>h.

getlength()

)int th = h.

getlength()

- num +1;

node head = h.

gethead()

;int count =0;

while

(count < th)

return head.

getdata()

;}

單鏈表反**

思路:

**實現:

public

static

void

testsinglelist

(linklist h)

throws exception

}

從尾到頭列印單鏈表:

思路:

public

static

void

ergodic

(linklist h)

throws exception

while

(!stack.

isempty()

) system.out.

println()

;}

合併兩個有序單鏈表,合併之後的鍊錶依然有序:

基本思路:將兩個單鏈表中第乙個元素中較小的元素先寫入到新鍊錶中,對應的元素的鍊錶節點後移,直到兩個鍊錶置空位置。

**實現:

public

static linklist merge

(linklist h, linklist n)

else

if(n_node != null)

else

if(note1data <= note2data)

else

newnode = newnode.

getnext()

;}return linklist;

}

單鏈表 (面試題)

關於單鏈表的基本操作,之前已經總結過了,那些掌握之後算是了解了單鏈表是什麼?不過現在面試的題中,肯定不會只讓你回答單鏈表的基礎操作,總是會改變一些東西,或是擴充套件一下。下面就是一些關於單鏈表的擴充套件內容 include include include pragma warning disable...

單鏈表面試題

1.倒序列印鍊錶 void reverseprint slistnode pfirst 有兩種方法 1.遞迴操作 2.非遞迴操作 2 非遞迴 slistnode pend slistnode pcur pend null while pfirst pend pend pcur printf d pe...

單鏈表(面試題)

鍊錶反轉思路 1.單鏈表中有效節點的個數 2.查詢單鏈表中弟第k個節點 3.單鏈表的反轉 實現 如下 public class testlink 1單鏈表中有效節點的個數 遍歷得出個數 public static intcount heronode head int count 0 while tr...