这篇博客对上述问题有详细的解释:判断链表中是否有环 ----- 有关单链表中环的问题
这里只做C++的一个代码实现,主要包含构建环形链表,判断是否有环以及环的大小。
#include<iostream>
#include<vector>
using namespace std;
struct Node {
int val;
Node* next;
Node(int num):val(num),next(nullptr){
}
};
Node* CreatCircularList() {
Node* head = new Node(0);
Node* ptr = head, *enterNode = nullptr;
cout << "Please input a number(0 to entry node, q to quit): ";
int temp;
bool sign = false;
while (cin >> temp) {
Node* newNode = ne