clk
BAN USERpublic ListNode plusOne(ListNode head) {
if(head == null) return head;
ListNode newHead = reverse(head);
head = newHead;
int sum = 1;
while(head != null)
{
sum += head.val;
head.val = sum%10;
sum/=10;
if(sum==0 || head.next == null)
break;
head = head.next;
}
if(sum > 0)
{
head.next = new ListNode(sum);
}
return reverse(newHead);
}
private ListNode reverse(ListNode head)
{
ListNode newHead = null, t;
while(head != null)
{
t = head;
head = head.next;
t.next = newHead;
newHead = t;
}
return newHead;
}
- clk October 13, 2017