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

判断链表中是否有环

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;
      }
    };
全部评论

相关推荐

刷牛客的我很豁达:你是不是对算法有什么误解,你没手握两篇顶刊顶会,还想搞算法岗,有顶刊顶会在算法岗算才入门
点赞 评论 收藏
分享
一天代码十万三:这个学历有中大厂实习也是0面,没办法,斩杀线是这样的
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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