資料結構(七) 單鏈表面試題 二

2021-10-09 12:37:35 字數 841 閱讀 7445

單鏈表的翻轉

思路:定義節點reversehead=new heronode();

遍歷鍊錶,遍歷乙個就放入最前端,放入新的鍊錶

head.next=reversehead.next

public static void reverselist(heronode head){

if (head.next==null|| head.next.next==null){

return ;     

heronode cur =head.next;

heronode next=null;

heronode reversehead =new heronode(0,"","")

while(cur!=null){

next=cur.next;

cur.next=reversehead.next;

reversehead.next=cur;

cur=next;

head.next=reversehead.next;

從尾到頭列印單鏈表

法一:反轉再列印

法二:利用棧,將節點壓入棧,然後利用棧的先進後出實現

public static void reverseprint(heronode head){

stackstack=new stack();

heronode cur =head.next;

while(cur!=null){

stack.push(cur);

cur=cur,next;

while(stack.size>0){

system.out.println(stack.pop());

資料結構 鏈表面試題總

以下 是在vs2013下編寫的 我們先來看一下測試結果 include include include include 鍊錶的定義 typedef int datatype typedef struct slistnode slistnode 初始化 void slistinit slistnode...

單鏈表 (面試題)

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