LeetCode 141. Linked List Cycle

来源:互联网 发布:淘宝链接里面的scm 编辑:程序博客网 时间:2024/06/12 00:17

题目链接

141Linked List Cycle

Given a linked list, determine if it has a cycle in it.

Follow up:
Can you solve it without using extra space?


解:

满足 without using extra space这个要求的话,可以只用2个指针来判断一个链表中的环,快的指针一次走2个结点,慢指针一次走一个结点,若有环路,两指针会先后进入环路,在慢指针被快指针“扣圈”时两指针在环路上相遇,代码:

/** * Definition for singly-linked list. * struct ListNode { *     int val; *     ListNode *next; *     ListNode(int x) : val(x), next(NULL) {} * }; */class Solution {public:    bool hasCycle(ListNode *head) {        ListNode* faster, *slower;        if (head == NULL) return false;        faster = slower = head;        while (true) {            slower = slower->next;            faster = faster->next;            if (faster == NULL) return false;            faster = faster->next;            if (faster == NULL) return false;            if (slower == faster) return true;        }    }};


阅读全文
'); })();
0 0
原创粉丝点击
热门IT博客
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 间接胆红素过高怎么办 直接胆红素7.2怎么办 婴儿胆红素过高怎么办 血清白蛋白偏高怎么办 糖化血红蛋白高怎么办 糖化血红蛋白6.5怎么办 糖化血红蛋白6.2怎么办 血糖蛋白偏高怎么办 游离甲状腺素低怎么办 甲状腺素值偏高怎么办 血清脂蛋白高怎么办? 果糖胺偏高怎么办 糖化白蛋白偏高怎么办 流产后抑郁症怎么办 血清素过高怎么办 多巴胺分泌过多怎么办 维生素b12高怎么办 血清溶血了怎么办 脾切后血小板高怎么办 小孩白细胞多怎么办 帆布鞋染色了怎么办 帆布鞋边发黄怎么办 帆布鞋底黄了怎么办 硬白色鞋边变黄怎么办 透明胶底鞋变黄怎么办 运动鞋底子发黄怎么办 小白鞋胶黄了怎么办 帆布鞋放黄了怎么办 橡胶白底发黄怎么办 鞋帮黄了怎么办 黑色板鞋晒黄了怎么办 帆布鞋旁边发黄怎么办 黑色鞋子发黄怎么办 买的板鞋挤脚怎么办 白布鞋变黄怎么办 回力鞋黄了怎么办 布鞋的鞋头很脏怎么办 白鞋鞋头发黄怎么办 白色帆布鞋黄了怎么办 彩色帆布鞋发黄怎么办 板鞋鞋头脏了怎么办