一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - Java教程 - 找出鏈表倒數第n個節點元素的二個方法

找出鏈表倒數第n個節點元素的二個方法

2019-10-20 23:12java教程網 Java教程

本文提供了找出鏈表倒數第n個節點元素的二個方法,其中一個方法是JAVA代碼實現

方法一:利用兩個指針p,q,首先將q往鏈表尾部移動n位,然后再將p、q一起往后移,那么當q達到鏈表尾部時,p即指向鏈表的倒數第n個節點

復制代碼代碼如下:


node* find_nth_to_last(node* head,int n) { if(head==NULL || n<1) return NULL; node*p,*q; p=q=head; while(q!=NULL && n--){ q=q->next; } if(n>=0) return NULL; while(p!=NULL && q!=NULL){ p=p->next; q=q->next; } return p; }


方法二:可以先計算出節點個數,即從頭到尾遍歷一次鏈表,得到個數m,那么倒數第n個元素也即第m-n+1個元素.與方法一是同樣的思維,只是具體操作方式不同,代碼略.
JAVA代碼:

復制代碼代碼如下:


LinkedListNode nthToLast(LinkedListNode head, int n) { if (head == null || n < 1) { return null; } LinkedListNode p1 = head; LinkedListNode p2 = head; for (int j = 0; j < n - 1; ++j) { // skip n-1 steps ahead if (p2 == null) { return null; // not found since list size < n } p2 = p2.next; } while (p2.next != null) { p1 = p1.next; p2 = p2.next; } return p1; }

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 成人小视频在线观看 | 91精品啪在线观看国产日本 | 热99精品视频 | 继的朋友无遮漫画免费观看73 | 青青草原手机在线视频 | 亚洲免费视频在线观看 | bl文全肉高h湿被灌尿 | 校花在公车上被内射好舒 | 国产高清在线精品一区 | 亚洲欧美日韩一区成人 | 黄情视频| 亚洲欧美精品久久 | 四虎在线免费播放 | 国产aaaaa一级毛片 | 亚洲人和日本人hd | 无人影院在线播放视频 | bban女同系列022在线观看 | 法国女佣系列在线播放 | 香蕉国产人午夜视频在线 | 男女肉文高h | 91入口免费网站大全 | 午夜小视频网站 | 91九色国产porny | 九九精品国产兔费观看久久 | 女色在线观看免费视频 | 色多多在线观看视频 | 亚洲精品国产国语 | 久久大胆视频 | 亚洲高清在线精品一区 | 极致堕落(高h) | 国产日韩欧美精品在线 | 午夜精品区 | bt天堂在线观看国产 | 四虎影院永久在线 | 国产激情一区二区三区四区 | 日本一级不卡一二三区免费 | 日本动漫黄网站在线观看 | 青草午夜精品视频在线观看 | 国产午夜免费不卡精品理论片 | 99九九精品视频 | 人人人人看人人人做人人 |