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

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

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; }

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 欧美精品一区二区三区免费 | 亚洲一区二区三区不卡在线播放 | 国产成人免费观看在线视频 | 国产成人精品本亚洲 | 精品久久成人免费第三区 | 日本一道一区二区免费看 | 精品国产原创在线观看视频 | 国产精品午夜性视频网站 | 赤色疑惑 | 欧美综合在线 | 四虎精品成人a在线观看 | 6969精品视频在线观看 | 精品久久久久久国产 | 水多多www视频在线观看高清 | 日本高清va不卡视频在线观看 | 单亲乱l仑在线观看免费观看 | 末代皇帝无删减版在线观看 | 国产成人精品曰本亚洲78 | 国模娜娜一区二区三区 | 小舞同人18av黄漫网站 | 国产精品亚洲专区一区 | 大好硬好深好爽想要视频 | 国产在线欧美日韩精品一区二区 | 免费免费啪视频在线观播放 | 99热这里只有精品在线观看 | 99这里只有精品视频 | 国产成人在线影院 | 久久99精品久久久久久园产越南 | 99国产精品免费视频 | 久久99亚洲AV无码四区碰碰 | 久久99r66热这里有精品 | 日本在线视频免费看 | 欧美日韩国产亚洲一区二区 | 免费看成年视频网页 | 日本视频在线免费看 | 激情小视频网站 | 好奇害死猫在线观看 | 性刺激欧美三级在线现看中文 | 亚洲国产成人久久精品影视 | 国产趴着打光屁股sp抽打 | 欧亚专线欧洲m码可遇不可求 |