亚洲精品久久久久久第一页-人妻少妇精彩视品一区二区三区-91国产自拍免费视频-免费一级a在线播放视频正片-少妇天天日天天射天天爽-国产大屁股喷水视频在线观看-操美女骚穴抽插性爱视频-亚洲 欧美 中文字幕 丝袜-成人免费无码片在线观看

java入門基礎(chǔ)知識 java算法題面試


java入門基礎(chǔ)知識 java算法題面試

文章插圖
劍指 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)容,希望對您有所幫助: