zoukankan      html  css  js  c++  java
  • 【leetcode】【141】Linked List Cycle

    #include<iostream>
    using namespace std;
    
    struct ListNode {
    	int val;
    	ListNode *next;
    	ListNode(int x) : val(x), next(NULL) {}
    };
    
    class Solution {
    public:
    	bool hasCycle(ListNode *head) {
    		if (head == NULL || head->next == NULL) //链表空或只有一个节点
    			return false;
    
    		ListNode* slow = head;
    		ListNode* fast = head;
    		while (fast&&fast->next){
    			slow = slow->next;
    			fast = fast->next->next;
    			if (slow == fast)
    				return true;
    		}
    		return false;
    	}
    	ListNode* createList(ListNode* head){
    		int numOfNode;
    		int value;
    		cout << "please input number of listNode:";
    		cin >> numOfNode;
    		cin >> value;
    		head = new ListNode(value);
    		ListNode* cur = head;
    		for (int i = 1; i < numOfNode; ++i){
    			cin >> value;
    			ListNode* temp = new ListNode(value);
    			cur->next = temp;
    			cur = temp;
    		}
    		//cur->next = head;
    		return head;
    	}
    	void printNode(ListNode* head){
    		ListNode* cur = head;
    		while (cur){
    			cout << cur->val << " ";
    			cur = cur->next;
    		}
    		cout << endl;
    	}
    };
    
    int main(){
    	ListNode* head = NULL;
    	Solution lst;
    	head = lst.createList(head);
    	//lst.printNode(head);
    
    	cout << boolalpha << lst.hasCycle(head) << endl;
    
    	system("pause");
    	return 0;
    }

    参考:http://blog.sina.com.cn/s/blog_725dd1010100tqwp.html


    
    
    
  • 相关阅读:
    1041 考试座位号
    1040 有几个PAT
    1039 到底买不买
    1038 统计同成绩学生
    1037 在霍格沃茨找零钱
    1036 跟奥巴马一起编程
    1035 插入与归并
    vue-router--路由传参
    vue-router--路由原理
    vuex--在computed中使用
  • 原文地址:https://www.cnblogs.com/ruan875417/p/4495554.html
Copyright © 2011-2022 走看看