链表带环的情况下就需要活用指针:
- 两个指针的组合可以很好的遍历结点
- 两个指针的行走速度有差异即可进行环的相关判断(一步、两步、先走后走)
- 链表每走一步都要注意下一个节点为nullptr时,是否会影响到程序的鲁棒性,造成程序的崩溃,走两步的指针更需要注意这个问题,需要判断两次!(否则为nullptr也就不会再走下去)
#include <iostream>
#include <string>
#include <vector>
#include <stack>
using namespace std;
typedef int datatype;
struct Node
{
datatype value;
Node* Next_Node;
};
struct Node_circle
{
unsigned int Number;
Node *entrace;
};
//判断链表中是否