鍊錶反轉思路:
1.單鏈表中有效節點的個數
2.查詢單鏈表中弟第k個節點
3.單鏈表的反轉
實現**如下:
publicclass
testlink
//1單鏈表中有效節點的個數
//--遍歷得出個數
public
static
intcount(heronode head)
int count = 0;
while(true
) }
return
count;
}//2.查詢單鏈表中弟第k個節點
//--先找到總長度
//--然後算出在第幾個 遍歷
public
static heronode findheronode(heronode head,int
k)
int size =count(head);
if(size)
int index = 0;
while(true
) index++;
}return
head;
}//3.單鏈表的反轉
//--建立乙個新的頭部
//--迴圈列表 逐步把遍歷到的插入新的頭部後面
//--把原來的頭部 指向新的佇列
public
static
void
reverse(heronode head)
heronode rever = new heronode(0, "", "");
heronode next = null
; heronode cru =head.next;
while(cru!=null
) head.next =rever.next;}}
單鏈表 (面試題)
關於單鏈表的基本操作,之前已經總結過了,那些掌握之後算是了解了單鏈表是什麼?不過現在面試的題中,肯定不會只讓你回答單鏈表的基礎操作,總是會改變一些東西,或是擴充套件一下。下面就是一些關於單鏈表的擴充套件內容 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 3 4 5 null 輸出 5 4 3 2 1 null解決方案 頭插法開闢新鍊錶並逐個讀取舊鍊錶,頭插進新鍊錶,這樣新的鍊錶與原鍊錶的結構就是反的,需要借助輔助空間 definition for singly linked list.struct listnod...