Java教程

让我大呼过瘾的算法搜集

本文主要是介绍让我大呼过瘾的算法搜集,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

文章目录

        • LeetCode 160 相交链表 ,Easy

LeetCode 160 相交链表 ,Easy

虽然是一道Easy,但有一种解法太秒了,双指针的运用,特此搜集,原链接点这里

public class Solution {
    public ListNode getIntersectionNode(ListNode headA, ListNode headB) {
        ListNode A = headA, B = headB;
        while (A != B) {
            A = A != null ? A.next : headB;
            B = B != null ? B.next : headA;
        }
        return A;
    }
}

链表类的题目通用思路:

  • 双指针:
    • 快慢指针(两个指针同时出发):找中点
    • 先行者指针(一个指针先出发一个指针后出发):找倒数第k个点
    • 普通双指针(达到某一条件后,重置指针位置):判断环,判断入环点,判断相交
  • 虚拟节点:省掉边界判断的麻烦
  • 其余操作:切断链表,翻转链表,合并链表,排序链表

…持续更新…

这篇关于让我大呼过瘾的算法搜集的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!