LeetCode:141和142,环形链表之追及相遇和快慢指针的运用

这两个题是相关联的,主要做法为哈希和快慢指针,当然像博主我,不看解析只会O(n^2)的暴力遍历,太惨了,不过,快慢指针还是很好理解的,是一个追及的问题,

目录

题目:

​编辑 快慢指针解法原理:

代码LeetCode:141: 

每日表情包:


题目:

 快慢指针解法原理:

代码LeetCode:141: 

/**
 * Definition for singly-linked list.
 * struct ListNode {
 *     int val;
 *     struct ListNode *next;
 * };
 */
bool hasCycle(struct ListNode *head) {
    struct ListNode* pfast = head, * pslow = head;
    while(pfast && pfast->next){
        pfast = pfast->next->next;
        pslow = pslow->next;
        if(pfast == pslow){
            return true;
        }
    }
    return false;
}

代码LeetCode:142:

/**
 * Definition for singly-linked list.
 * struct ListNode {
 *     int val;
 *     struct ListNode *next;
 * };
 */
struct ListNode *detectCycle(struct ListNode *head) {
    struct ListNode* pfast = head, * pslow = head;
    while(pfast && pfast->next){
        pfast = pfast->next->next;
        pslow = pslow->next;
        if(pfast == pslow){
            while(pfast != head){
                pfast = pfast->next;
                head = head->next;
            }
            return head;
        }
    }
    return NULL;
}

每日表情包:

点点赞吧 ~ 可怜可怜孩子。 

相关推荐

  1. LeetCode[141] [142] 环形I II

    2024-02-03 13:04:06       68 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-02-03 13:04:06       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-02-03 13:04:06       100 阅读
  3. 在Django里面运行非项目文件

    2024-02-03 13:04:06       82 阅读
  4. Python语言-面向对象

    2024-02-03 13:04:06       91 阅读

热门阅读

  1. clickhouse批量入库异常日志

    2024-02-03 13:04:06       41 阅读
  2. 前端工程化之:webpack1-11(其他配置)

    2024-02-03 13:04:06       56 阅读
  3. XML要点总结

    2024-02-03 13:04:06       41 阅读
  4. uniapp本地存储的几种方式localStorage

    2024-02-03 13:04:06       59 阅读
  5. 工厂模式与抽象工厂模式

    2024-02-03 13:04:06       49 阅读
  6. uniapp中封装一个svg转base64的组件

    2024-02-03 13:04:06       49 阅读