链表算法总结

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了链表算法总结相关的知识,希望对你有一定的参考价值。

这篇博客就总结一下关于链表的各种题,来源POJ和LeetCode,一点一点的扩充,遇到题目就补进来。

(1)LeetCode  61. Rotate List

双指针,先计数求长度,不要一前一后一起跑

public class Solution {
    public ListNode rotateRight(ListNode head, int n) {
        if (head==null||head.next==null) return head;
        ListNode dummy=new ListNode(0);
        dummy.next=head;
        ListNode fast=dummy,slow=dummy;
    
        int i;
        for (i=0;fast.next!=null;i++)//Get the total length 
            fast=fast.next;
    
        for (int j=i-n%i;j>0;j--) //Get the i-n%i th node
            slow=slow.next;
    
        fast.next=dummy.next; //Do the rotation
        dummy.next=slow.next;
        slow.next=null;
    
        return dummy.next;
    }
}

 

以上是关于链表算法总结的主要内容,如果未能解决你的问题,请参考以下文章

链表算法总结

常见算法总结 - 链表篇

链表相交-算法练习总结

算法总结—链表

算法总结之 两个链表生成相加链表

算法总结之 两个单链表生成相加的链表