题目描述:
给你一个 非空 链表的头节点 head ,表示一个不含前导零的非负数整数。
将链表 翻倍 后,返回头节点 head 。
示例:

 
解题思路:
先计算第一位是否超出位数,超出新建存储该数值,再逐个翻倍,超过9前一位加一,该数字对10求模。
相关代码:
/**
 * Definition for singly-linked list.
 * public class ListNode {
 *     int val;
 *     ListNode next;
 *     ListNode() {}
 *     ListNode(int val) { this.val = val; }
 *     ListNode(int val, ListNode next) { this.val = val; this.next = next; }
 * }
 */
class Solution {
    public ListNode doubleIt(ListNode head) {
        ListNode p=head,q=null;
        if(p.val*2>9) {
            q=new ListNode(0);
            q.next=head;
            head=q;
        } else {
            q=head;
        }
        while(p!=null) {
            p.val*=2;
            if(p.val/10>0) {
                p.val%=10;
                q.val+=1;
            }
            q=p;
            p=p.next;
        }
        return head;
    }
}
代码效率:





![[PaddlePaddle] [学习笔记] [上] 计算机视觉(卷积、卷积核、卷积计算、padding计算、BN、缩放、平移、Dropout)](https://img-blog.csdnimg.cn/4354d070d6434c8eab53dae68509836c.png#pic_center)














