题解 | #判断链表中是否有环#

判断链表中是否有环

http://www.nowcoder.com/practice/650474f313294468a4ded3ce0f7898b9

双指针

  • 当快慢指针能够相遇时,说明有环
  • 如果 fast 或者 fast->next 为NULL时,说明链表无环
    class Solution {
    public:
      bool hasCycle(ListNode *head) {
          // 空链表或者下一个结点为空
          if(!head || !head->next)
              return false;
          ListNode *slow = head,*fast = head->next;
          while(fast && fast->next){
              if(fast == slow)
                  return true;
              else{
                  fast = fast->next->next;
                  slow = slow->next;
              }
          }
          return false;
      }
    };
全部评论

相关推荐

01-30 09:45
燕山大学 Java
喵_coding:这种直接跑就完事了 哪有毕业了才签合同 任何offer和三方都没有的
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务