public ListNode insert(ListNode node, int x) {
  ListNode newNode = new ListNode(x);
  if (node == null) {
   newNode.next = newNode;
   return newNode;
  }

  ListNode cur = node;

   do{
    if (x <= cur.next.val && x > cur.val) break;
    if ((cur.val > cur.next.val) &&  (x <= cur.next.val || x > cur.val)) break;
   cur = cur.next;
   }while (cur != node)
   newNode.next =  cur.next;
   cur.next = newNode;
   return newNode;
}

results matching ""

    No results matching ""