当前位置: 首页 > news >正文

力扣——两数相加

题目链接:

链接

题目描述:

在这里插入图片描述
在这里插入图片描述

思路:

关键是进位
可能有两种情况:

  1. a+b>9
  2. a+b+进位>9

所以,需要一个变量表示进位的数字,两数之和应该是 sum=a+b+进位
每一位的数字是:sum%10
每一位的进位是:sum/10

这里需要新建节点,所以我们可以在新建节点的时候把val设置好
这样,第一个节点就不是真正的头节点,下一个才是

实现代码:

class Solution {
    public ListNode addTwoNumbers(ListNode l1, ListNode l2) {
        ListNode head = new ListNode();
        ListNode cur = head;
        int carry = 0;
        while(l1 != null || l2 != null){
            int num1 = l1 != null ? l1.val : 0;
            int num2 = l2 != null ? l2.val : 0;
            int s = num1 + num2 + carry;
            carry = s/10;
            s = s%10;
            cur.next = new ListNode(s);

            cur = cur.next;
            l1 = l1 == null ? l1 : l1.next;
            l2 = l2 == null ? l2 : l2.next;
        }
        if(carry != 0){
            cur.next = new ListNode(carry);
        }
        return head.next;
    }
}

相关文章:

  • 每日一题--数据库
  • 建筑兔零基础自学记录45|获取高德/百度POI-1
  • 前端面试:富文本编辑器里面如何在划词选择的文本上添加右键菜单?
  • 心理状态的微妙变化
  • 网关的详细介绍
  • qemu的usb前后端处理
  • 十四、Vue 项目工程化:从 ESLint 到 CI/CD 的最佳实践
  • 前端项目部署方案
  • 阿里云服务器购买及环境搭建宝塔部署springboot和vue项目
  • python-leetcode-叶子相似的树
  • 【MySQL】MySQL是如何传输数据的?
  • day3
  • 算法手记3
  • 人工智能与我何干
  • MinIO问题总结(持续更新)
  • VMware虚拟机网络连接模式介绍以及nat模式访问公网实践
  • AI短视频流量获取方法(一)
  • 【HarmonyOS NEXT】获取组件宽高和在屏幕上的位置
  • 【AI】从头到脚详解如何创建部署Azure Web App的OpenAI项目
  • 工程化与框架系列(30)--前端日志系统实现
  • 外贸狼/北京朝阳区优化
  • 怎么用网站做word文件格式/全网营销系统
  • 乐山网站建设/在线培训app
  • 58网站怎么样做效果会更好/哪里可以学seo课程
  • wordpress淘宝客建站教程视频/厦门谷歌推广
  • 做b2b网站有没有用/在百度上怎么注册网站