
文章插圖
劍指 Offer 06. 從尾到頭打印鏈表輸入一個鏈表的頭節(jié)點 , 從尾到頭反過來返回每個節(jié)點的值(用數(shù)組返回) 。
class Solution6 {
public int[] reversePrint(ListNode head) {
//一次遍歷即可 , 把元素按數(shù)組下標(biāo)倒敘放入數(shù)組
int index = 0;
ListNode node = head;//臨時用計算鏈表長度
while(node != null){
index ++;
node = node.next;
}
//需要開辟一個數(shù)組
int[] res = new int[index];
for(int i = index -1 ; i >=0; i–){
res[i] = head.val;
head = head.next;
}
return res;
}
}
劍指 Offer 18. 刪除鏈表的節(jié)點
classSolution{publicListNodedeleteNode(ListNodehead,intval){if(head==null)returnnull;if(head.val==val)returnhead.next;//本來是returnhead,但是這種情況特色 , 刪除頭節(jié)點,這行可以刪掉 , 因為后面采用了虛擬頭節(jié)點//刪除這個節(jié)點的前一個節(jié)點的位置 , 先找到 , 然后變換指針就可以ListNodedummy=newListNode(0);//虛擬頭節(jié)點dummy.next=head;//讓他指向頭節(jié)點ListNodenode=dummy;//臨時節(jié)點 , 被刪除的前一個節(jié)點while(node!=null&&node.next!=null){if(node.next.val==val){node.next=node.next.next;//單鏈表刪除就是這么簡單break;}node=node.next;//否則的話繼續(xù)后移}returndummy.next;}劍指 Offer 22. 鏈表中倒數(shù)第k個節(jié)點
輸入一個鏈表 , 輸出該鏈表中倒數(shù)第k個節(jié)點 。為了符合大多數(shù)人的習(xí)慣 , 本題從1開始計數(shù) , 即鏈表的尾節(jié)點是倒數(shù)第1個節(jié)點 。
例如 , 一個鏈表有 6 個節(jié)點 , 從頭節(jié)點開始 , 它們的值依次是 1、2、3、4、5、6 。這個鏈表的倒數(shù)第 3 個節(jié)點是值為 4 的節(jié)點 。
/***Definitionforsingly-linkedlist.*publicclassListNode{*intval;*ListNodenext;*ListNode(intx){val=x;}*}*/classSolution{publicListNodegetKthFromEnd(ListNodehead,intk){//如果求正數(shù)第2個節(jié)點 , 你會怎么做?直接用一個index , 往后走2次就到了//這里用雙指針 , 兩個指針的距離為k,同時往后移;ListNodefast=head,slow=head;while(fast!=null&&k>0){fast=fast.next;k--;}//這里用雙指針 , 兩個指針的距離為k,同時往后移;//slow指的就是倒數(shù)第k個while(fast!=null){fast=fast.next;slow=slow.next;}returnslow;}}大家加油:P
以上關(guān)于本文的內(nèi)容,僅作參考!溫馨提示:如遇健康、疾病相關(guān)的問題,請您及時就醫(yī)或請專業(yè)人士給予相關(guān)指導(dǎo)!
「愛刨根生活網(wǎng)」www.malaban59.cn小編還為您精選了以下內(nèi)容,希望對您有所幫助:- html5零基礎(chǔ)入門教程 html上傳文件到服務(wù)器
- java解壓各種類型的文件 java解壓zip文件為空
- 講解java部署jar還是war優(yōu)劣 jar運行命令
- 《蕙蘭瑜伽視頻教程》01 蕙蘭瑜伽基礎(chǔ)知識
- 瑜伽視頻教程 初級入門瑜伽
- 瑜伽入門基礎(chǔ)教學(xué)動作視頻
- 蕙蘭瑜伽視頻入門初學(xué)第一級教程
- java程序員必備的基礎(chǔ)知識 java截取字符串后幾位
- python語言基礎(chǔ)知識 python零基礎(chǔ)教程
- 筆記本電腦操作入門 筆記本新手入門教程怎么操作
