0
点赞
收藏
分享

微信扫一扫

【Java数据结构】详解LinkedList与链表(二)

Just_Esme 2024-06-06 阅读 6

目录

1.❤️❤️前言~🥳🎉🎉🎉

2.反转一个单链表 

3. 找到链表的中间节点

4.输入一个链表,输出该链表中倒数第k个结点。 

  5.合并两个有序链表

6.链表分割 

7. 判定链表的回文结构

8.输入两个链表,找出它们的第一个公共结点。 

9. 判断链表中是否有环

10.返回链表开始入环的第一个节点

 11.总结


1.❤️❤️前言~🥳🎉🎉🎉

2.反转一个单链表 

这是该题的链接 : 翻转链表                                    

3. 找到链表的中间节点

该题链接:求链表中间结点 

4.输入一个链表,输出该链表中倒数第k个结点。 



该题题目已下架,无链接。



  5.合并两个有序链表


  该题链接:合并两个有序链表

6.链表分割 

题目链接:链表分割_牛客题霸_牛客网

7. 判定链表的回文结构

该题链接:链表的回文结构_牛客题霸_牛客网 

8.输入两个链表,找出它们的第一个公共结点。 

  public static  ListNode getIntersectionNode(ListNode headA, ListNode headB) {
//给你两个单链表的头节点 headA 和 headB ,找出并返回两个单链表相交的起始节点。
if(headA==null||headB==null)
return null;

ListNode cur1=headA;
ListNode cur2=headB;
int length1=0;
int length2=0;
while(cur1!=null){
length1++;
cur1=cur1.next;
}while(cur2!=null){
length2++;
cur2=cur2.next;
}
cur1=headA;
cur2=headB;
if(length1>length2){
for(int i=0;i<length1-length2;i++){
cur1=cur1.next;
}
}else{
for(int i=0;i<length2-length1;i++){
cur2=cur2.next;
}
}
while(cur1!=null){
if(cur1==cur2)
return cur1;
cur1=cur1.next;
cur2=cur2.next;
}
return null;
}

题目链接:找出两个链表的第一个公共节点

9. 判断链表中是否有环

题目链接 :判断链表中是否有环

10.返回链表开始入环的第一个节点

 11.总结

举报

相关推荐

0 条评论