- 实现约瑟夫环共3步
- 1.首先将单链表构成环
- 2.根据约瑟夫环规则,删除节点
- 让循环继续,直到环中只剩下最后一个节点
class ListNode{
int data;
ListNode next;
}
public class Link{
public static ListNode JosephCycle(ListNode first,int k){
//第一步:链表构成环
ListNode tail = first;
while (tail.next != null){
tail = tail.next;
}
tail.next = first;
//第二步删除
ListNode cur = first;
while(cur.next != cur){//当链表中的节点只剩下最后一个时,跳出循环