599.Insert into a Cyclic Sorted List
1.Description(Easy)
Notice
2.Code
public ListNode insert(ListNode node, int x) {
if(node==null){
node=new ListNode(x);
node.next=node;
return node;
}
ListNode current=node;
ListNode prev=null;
do{
prev=current;
current=current.next;
if(x<=current.val && x>=prev.val){ //for case 1
break;
}
if((prev.val>current.val)&&(x<current.val || x>prev.val)){//for case 2
break;
}
}while(current!=node);//for case 3
ListNode newnode=new ListNode(x);
newnode.next=current;
prev.next=newnode;
return newnode;
}Last updated