class ListNode{ int val; ListNode next=null; ListNode(int val){ this.val=val; } } public class Solution { public int LastRemaining_Solution(int n, int m) { if(n<=0||m<=0){ return -1; } ListNode head=new ListNode(0); ListNode node=head; for(int i=1;i<n;i++){ node.next=new ListNode(i); node=node.next; } node.next=head;//以上是创建一个循环链表 int k=0; while(node.next!=node){//判断 删结点 最后只剩一个 输出 if(k!=m-1){ node=node.next; k++; } else{ node.next=node.next.next; k=0; } } return node.val; } }