给定一个用单链表表示的整数,然后把这个整数加一。
数据范围:链表长度满足 ,链表上每个节点的值满足 ,可以保证链表在非 0 的情况下没有前导零
例如输入{1,2,3}时,对应的输出为{1,2,4},转换过程如下图所示:
package main import _"fmt" import . "nc_tools" /* * type ListNode struct{ * Val int * Next *ListNode * } */ /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param head ListNode类 * @return ListNode类 */ func plusOne( head *ListNode ) *ListNode { arr:=[]*ListNode{} for p:=head;p!=nil;p=p.Next{ arr=append(arr,p) } carry:=1 for i:=len(arr)-1;i>=0;i--{ carry+=arr[i].Val if carry!=10{ arr[i].Val=carry return head }else{ arr[i].Val=0 carry=1 } } return &ListNode{1,head} }