描述
给定一个非负整数,这个整数表示为一个非空的单链表,每个节点表示这个整数的一位。返回这个整数加一。
除了0本身,所有数字在最高位前都没有0。
列表的头节点存的是这个整数的最高位。
样例1
输入: 1 -> 2 -> 3 -> null
输出: 1 -> 2 -> 4 -> null
解释: 123 + 1 = 124
样例2
输入: 9 -> 9 -> null
输出: 1 -> 0 -> 0 -> null
解释: 99 + 1 = 100
思路
记录两个指针,其中r指的是当前位置,l的含义是当前最后一个不为9的数字
当r遍历到null时,我们只需要让l的next节点到null的所有节点的值全都归零,然后将l对应的值+1即可
时间复杂度O(n),n为链表长度
代码
1 | """ |