查看: 727| 回复: 4
跳转到指定楼层
上一主题 下一主题
收起左侧

[树/链表/图] 帮忙看看这个题 2. Add Two Numbers

全局:

注册一亩三分地论坛,查看更多干货!

您需要 登录 才可以下载或查看附件。没有帐号?注册账号

x
虽然很简单的题,我这个代码过不了,我也检查不出来。思路是分别把list1 和list2转换成数值,相加,然后把数值转换成linkedlist。
Input:
[9]
[1,9,9,9,9,9,9,9,9,9]
我的output
[8,0,4,5,6,0,0,1,4,1]
正确的output
[0,0,0,0,0,0,0,0,0,0,1]

代码:
class Solution {
    public ListNode addTwoNumbers(ListNode l1, ListNode l2) {

        int num1=0,num2=0;
        int index1=1;
        while(l1!=null){
           num1=num1+index1*l1.val;
            l1=l1.next;
            index1=index1*10;
       }
        int index2=1;
        while(l2!=null){
            num2=num2+index2*l2.val;
            l2=l2.next;
            index2=index2*10;
        }
        int sum=num1+num2;
        if(sum==0)  {
            ListNode res=new ListNode(0);
            return res;
        }
        ListNode pre=new ListNode(0);
        ListNode dummy=pre;
        while(sum>0){
            ListNode digit=new ListNode(sum%10);
            sum=sum/10;
            pre.next=digit;
            pre=digit;
        }
        return dummy.next;

    }
}
万分感谢!



上一篇:面试不考coding的公司
下一篇:怎么高效率刷题呢?最好两个月超过400道
全局:
这……他不是说每个链表最多能有100个数字 100%会overflow吧
回复

使用道具 举报

🔗
 楼主| yanyan80 2022-2-15 02:10:47 | 只看该作者
全局:
进化信赖者 发表于 2022-2-14 13:02
这……他不是说每个链表最多能有100个数字 100%会overflow吧

谢谢,我都没想过这个问题。
回复

使用道具 举报

全局:
yanyan80 发表于 2022-02-14 10:10:47
谢谢,我都没想过这个问题。
只能按位加,再拿一个variable记录进位。
回复

使用道具 举报

🔗
 楼主| yanyan80 2022-2-15 02:26:54 | 只看该作者
全局:
palsword 发表于 2022-2-14 13:21
只能按位加,再拿一个variable记录进位。

谢谢!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册账号
隐私提醒:
  • ☑ 禁止发布广告,拉群,贴个人联系方式:找人请去🔗同学同事飞友,拉群请去🔗拉群结伴,广告请去🔗跳蚤市场,和 🔗租房广告|找室友
  • ☑ 论坛内容在发帖 30 分钟内可以编辑,过后则不能删帖。为防止被骚扰甚至人肉,不要公开留微信等联系方式,如有需求请以论坛私信方式发送。
  • ☑ 干货版块可免费使用 🔗超级匿名:面经(美国面经、中国面经、数科面经、PM面经),抖包袱(美国、中国)和录取汇报、定位选校版
  • ☑ 查阅全站 🔗各种匿名方法

本版积分规则

>
快速回复 返回顶部 返回列表