目录

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

2.反转一个单链表 

3. 找到链表的中间节点

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

  5.合并两个有序链表

6.链表分割 

7. 判定链表的回文结构

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

9. 判断链表中是否有环

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

 11.总结


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

2.反转一个单链表 

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

3. 找到链表的中间节点

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

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


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


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


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


  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.总结

06-06 16:36