日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

五个常见链表操作

發(fā)布時(shí)間:2024/4/15 编程问答 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 五个常见链表操作 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
  • 單鏈表反轉(zhuǎn)
  • 鏈表中環(huán)的檢測(cè)
  • 兩個(gè)有序鏈表合并
  • 刪除鏈表中倒數(shù)第n個(gè)結(jié)點(diǎn)
  • 求鏈表的中間結(jié)點(diǎn)

封裝的Node信息如下:后面代碼不再給出

package cn.wangbo.list; /* * 這是鏈表類, * 封裝了鏈表節(jié)點(diǎn)信息 * */ public class Node<T> {T val; //值Node next; //next指針public Node() {}public Node(T val, Node next) {this.val = val;this.next = next;} }

單鏈表反轉(zhuǎn)

單鏈表反轉(zhuǎn),只需要將每個(gè)結(jié)點(diǎn)的next指針指向其前驅(qū)結(jié)點(diǎn)。這個(gè)過(guò)程中,為了避免斷鏈,我們需要新建三個(gè)結(jié)點(diǎn)記錄當(dāng)前結(jié)點(diǎn)、當(dāng)前結(jié)點(diǎn)的前驅(qū)結(jié)點(diǎn)、當(dāng)前結(jié)點(diǎn)的下一結(jié)點(diǎn)

  • 核心代碼如下:
Node<String> preNode = new Node<String>();Node<String> curNode = list;//list是鏈表頭指針Node<String> nextNode = new Node<String>();//反轉(zhuǎn)指針while (curNode.next != null){nextNode = curNode.next;curNode.next = preNode;preNode = curNode;curNode = nextNode;}curNode.next = preNode;

鏈表中環(huán)的檢測(cè)

這里可以采用快慢指針?lè)ā?熘羔樏看巫邇刹健⒙羔樏看巫咭徊健H绻炻羔樝嘤?#xff0c;則說(shuō)明有環(huán),否則如果快指針走到終點(diǎn)(null)則說(shuō)明無(wú)環(huán)。

  • 核心代碼如下
public static boolean ringTest(Node node){if (node == null){return false;}Node slowNode = node;Node fastNode = node.next;while (fastNode.next != null && fastNode != null){slowNode = slowNode.next;fastNode = fastNode.next.next;if (fastNode == null){return false;}else if (fastNode == slowNode){return true;}}return false;}

兩個(gè)有序鏈表合并

兩個(gè)有序鏈表合并思路并不復(fù)雜,但是千萬(wàn)要注意最后不要忘記指向剩下沒(méi)有指向過(guò)的結(jié)點(diǎn)。

  • 核心代碼如下:
static Node Merge(Node<Integer> node1,Node<Integer> node2){Node pNode = new Node();Node<Integer> node = pNode;if (node1 == null) return node2;else if (node2 == null) return node1;while (node1 != null && node2 != null){if (node1.val <= node2.val){node.next = node1;node1 = node1.next;}else{node.next = node2;node2 = node2.next;}node = node.next;}if (node1 == null){node.next = node2;}else if (node2 == null){node.next = node1;}return pNode.next;}

刪除鏈表中倒數(shù)第n個(gè)結(jié)點(diǎn)

如果采用兩次遍歷的話自然非常簡(jiǎn)單,但是如果要求只遍歷一次怎么做呢?首先用兩個(gè)指針指向head結(jié)點(diǎn),把第一個(gè)指針指向第n個(gè)結(jié)點(diǎn),然后同時(shí)將兩個(gè)指針往后一步步移動(dòng),當(dāng)?shù)谝粋€(gè)指針的next指向null的時(shí)候,第二個(gè)指針指向第倒數(shù)n-1個(gè)結(jié)點(diǎn),sNode.next = sNode.next.next即完成刪除

  • 核心代碼如下:
public static Node<Integer> delete(Node<Integer> head,int n){Node<Integer> fNode = head;Node<Integer> sNode = head;for (int i = 0;i < n;i++){fNode = fNode.next;}//如果鏈表長(zhǎng)度為nif (fNode == null){head = head.next;return head;}while (fNode.next != null){sNode = sNode.next;fNode = fNode.next;}sNode.next = sNode.next.next;return head;}

求鏈表的中間結(jié)點(diǎn)

這里同樣是采用快慢指針?lè)ā?熘羔樏看巫邇刹?#xff0c;慢指針每次走一步,當(dāng)快指針走完整個(gè)鏈表的時(shí)候,慢指針剛好走到鏈表的中間節(jié)點(diǎn)

  • 核心代碼如下:
public static Node<Integer> getMid(Node<Integer> node){Node<Integer> fastNode = node;Node<Integer> slowNode = node;while (fastNode != null && fastNode.next != null){fastNode = fastNode.next.next;slowNode = slowNode.next;}return slowNode;}

轉(zhuǎn)載于:https://www.cnblogs.com/wangbobobobo/p/10539428.html

總結(jié)

以上是生活随笔為你收集整理的五个常见链表操作的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 爱草av| 一级毛片aa | 久久性片 | 久久久久久久久久久网站 | 欧美日韩视频一区二区三区 | 国产精品一区二区三区免费 | 国产人妻一区二区三区四区五区六 | 成人国产三级 | 久久久久久久久久久久久久久久久 | 亚洲毛片在线免费观看 | 后入内射欧美99二区视频 | 极品美女高潮出白浆 | 香蕉国产 | 97se亚洲国产综合在线 | 日韩精品免费播放 | 里番acg★同人里番本子大全 | av影院在线 | 看国产一级片 | 69免费视频| 亚洲国产精品va在线看黑人 | 人人人超碰 | 成人黄色视屏 | 日韩三级小视频 | 中文久久久 | 欧美爱爱视频 | 久久色资源网 | 日本中文字幕一区二区 | 国内自拍区 | 中国在线观看片免费 | 中文字幕女同 | 内射国产内射夫妻免费频道 | av资源在线免费观看 | 无码国模国产在线观看 | 国产99久久精品 | 28一20岁女人一级 | 寡妇高潮一级视频免费看 | 久久久久久久久久久久久久久久久久久久 | 欧美双性人妖o0 | 美女调教视频 | 日韩伦理视频 | 色哟哟视频在线观看 | 99久久国产综合 | www.av在线 | 久草综合在线观看 | 午夜电影在线播放 | 韩国成年人网站 | 国产又黄又爽 | 粉嫩小泬无遮挡久久久久久 | 麻豆做爰免费观看 | 欧美a在线观看 | 久草国产视频 | 国产欧美一区二区三区国产幕精品 | 久久久视频在线 | 啪啪av导航 | 成人精品视频在线播放 | 97超碰97| 欧美色图视频在线 | 超碰在线97观看 | 九一亚洲精品 | 性av在线| 福利社午夜影院 | 欧美xxxx黑人又粗又长密月 | 啪免费视频| 免费成人深夜在线观看 | 日本香蕉视频 | 38在线视频 | 一区二区三区四区av | 国产又大又黑又粗免费视频 | 蜜桃成人免费视频 | 六十路息与子猛烈交尾 | 色诱av手机版 | 亚洲网友自拍 | 大尺度在线观看 | 欧美jizz欧美性大全 | 一区二区三区免费播放 | 在线观看中文字幕亚洲 | 日韩欧美亚洲精品 | xxxx96| 水蜜桃av在线| 国产成人高清视频 | 黄色av网站免费观看 | 国产成人精品一区二区三 | 91在线| 91黄色看片 | 狠狠插狠狠操 | 中国女人一级一次看片 | 国产精品美女久久久久久 | 久久99久久99精品免观看粉嫩 | 国产在线观看免费视频软件 | √天堂资源地址在线官网 | 奇米影视777四色 | 性欧美free | 97人妻精品一区二区免费 | 亚洲国产精品无码久久久 | 久久精品国产欧美亚洲人人爽 | 国产高清在线观看 | 国产国语对白 | 卡通动漫亚洲综合 | 亚洲天天影视 |