classSolution{public:ListNode*plusOne(ListNode*head){ListNode*dummy=newListNode(0);ListNode*i=dummy;dummy->next=head;while(head){if(head->val!=9)i=head;head=head->next;}// I point to the rightmost non-9 node++i->val;while(i->next){i->next->val=0;i=i->next;}returndummy->val==0?dummy->next:dummy;}};