leetcode hot100.2. 两数相加(详解)

一:题目

在这里插入图片描述

二:上码

// /**
//  * 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 addTwoNumbers(ListNode l1, ListNode l2) {//         StringBuilder s1 = new StringBuilder();
//         StringBuilder s2 = new StringBuilder();     //         while (l1 != null) {
//             s1.append(l1.val);
//             l1 = l1.next;
//         }//         while (l2 != null) {
//             s2.append(l2.val);
//             l2 = l2.next;
//         }//         //将字符串反转
//         s1.reverse();
//         s2.reverse();//         //转换成int类型
//         double num1 = Double.parseDouble(s1.toString());
//         double num2 = Double.parseDouble(s2.toString());//         System.out.println("====num1"+num1);
//         System.out.println("====num2"+num2);//         //相加结果
//         double sumAns = num1 + num2;//         System.out.println("====sumAns"+sumAns);//         String str = String.valueOf(sumAns);
//         str = str.substring(0,str.indexOf("."));
//         System.out.println("====="+str);//         ListNode head = null;
//         ListNode tail = null;//         for (int i = str.length() - 1; i >= 0; i--) {//             int num = str.charAt(i) - '0';//              System.out.println("====="+num);//             if (head == null) {
//                 head = tail = new ListNode(num);
//             } else {
//                 tail.next = new ListNode(num);
//                 tail = tail.next;
//             }//         }//         return head;
//     }
// }/*** 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 {/**- 这里的相加 是每个位进行相加 然后有进位的话 就是 向后面的节点相加的值进行进位- 如果链表对应的位置没有值 那么的话 就补0- 99999999- 99999000*/public ListNode addTwoNumbers(ListNode l1, ListNode l2) {ListNode pre = new ListNode(0);ListNode cur = pre;int carry= 0;//表示进位为0while (l1 != null || l2 != null) {int x = l1 == null ? 0 : l1.val;int y = l2 == null ? 0 : l2.val;int sum = x + y + carry;//两个节点的值+进位carry = sum >= 10 ? 1 : 0;  sum = sum % 10;//如果相加大于10的话 我只是取余数//这里我们对cur.next进行赋值 是因为 我们在cur这个对象中的属性才满足一个val,还有next//未进行赋值cur.next = new ListNode(sum);cur = cur.next;if (l1 != null) l1 = l1.next;if (l2 != null) l2 = l2.next;}if (carry >= 1) {cur.next = new ListNode(1);}return pre.next;}
}

在这里插入图片描述

这题很狗 笨办法做不出来 最后还是看了题解 rue了

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/307278.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

COSCon‘20 参会指南 | 你想知道的都在这里(文末有福利)

中国开源年会 COSCon20,本周末你准备好了吗业界最具影响力的开源年度盛会2020中国开源年会 (COSCon20) 将于 10月24-25日由开源社举办。本次大会较往年出现了许多新变化,您可能有许多问题,为了让大家尽快参与其中,小编在这里为大家…

leetcode647. 回文子串(动态规划)

一:题目 二:上码 class Solution {/**思路:1.确定dp数组dp[i][j]:表示的是区间范围内[i,j]的字符串是否是回文串 2.确定dp数组递推公式1>:如果s[i] ! s[j] 那就是false2>:如果s[i] s[j] 如果 i - j < 1 那么的话 dp[i][j] 就为true如果 i - j > 1 的话 那就要看…

搬砖的八种境界

这一点文字&#xff0c;纯属有感而发。世上的道路千万条&#xff0c;搬砖的队伍更是前仆后继&#xff0c;延绵不绝。我总结有八种境界&#xff0c;请各位看官对号入座&#xff0c;不要客气。不知道怎么搬砖。职业早期&#xff0c;无可厚非。但如果长期处于这个阶段&#xff0c;…

芯片项目谁支持谁负责 重大损失将予以通报

随着全国掀起半导体热&#xff0c;全国各地都在大力投资&#xff0c;其中不乏浑水摸鱼的存在&#xff0c;在江苏、四川、湖北、贵州已经有多个半导体大项目先后停摆。在南京&#xff0c;号称投资30亿美元的德科码已经烂尾。在淮安&#xff0c;规划总投资450亿元的德淮半导体烂尾…

leetcode5. 最长回文子串

一:题目 二:上码 class Solution {/**思路:1.确定dp数组2.确定dp数组的递推公式s[i] ! s[j] 那么dp[i][j] 肯定为falses[i] s[j] 那么的话 i - j < 1 为true ans max(ans,i-j 1);i - j > 1的话 那么dp[i1][j-1] true的话那么dp[i][j] trueans max(ans,i-j1);3.确定…

leetcode11. 盛最多水的容器

一:题目 二:上码 // class Solution { // public int maxArea(int[] height) { // int len height.length; // int ans 0;// for (int i 0; i < len; i) { // for (int j len - 1; j > i; j--) {// int x …

技术债! 怎样简洁高效的实现多个 Enum 自由转换

一&#xff1a;背景 1. 讲故事前段时间和同事负责一个项目的两个业务模块&#xff0c;可能大家缺少沟通&#xff0c;导致本该定义一个 Enum 的地方结果我俩各自定义了一个&#xff0c;导致后面这两个 Enum 进行对接就烦了&#xff0c;为了方便理解&#xff0c;也不想让大家看这…

分享套接字数据包序列化与反序列化方法

分享套接字数据包序列化与反序列化方法“简单说一下&#xff0c;本文不涉及Socket的连接、数据接收&#xff0c;只是对数据包(byte[])的序列化和反序列化方法的封装介绍。本文目录本文背景一般操作本文操作总结1.本文背景经常做C/S&#xff0c;客户端与服务端通信基本是TCP/UDP…

leetcode22. 括号生成(回溯)

一:题目 二:上码 class Solution {public List<String> generateParenthesis(int n) {List<String> ans new ArrayList<>();def(ans,new StringBuilder(),n,n);return ans;}/**left:左边还可以用的括号数量right:右边还可以用的括号数量*/public void def(…

leetcode31. 下一个排列

一:题目 二:上码 class Solution {/**规律: 从后往前找到那个比其小的数进行交换 然后 在小的数后面的数都进行排序12345 --> 1235412354 --> 12453 --> 12435*/public void nextPermutation(int[] nums) {int len nums.length;for (int i len - 1; i > 0; i--)…

回顾 | 进击吧! Blazor !第三期 信息交互

Blazor 是一个 Web UI 框架&#xff0c;可通过 WebAssembly 在任意浏览器中运行 .Net 。Blazor 旨在简化快速的单页面 .Net 浏览器应用的构建过程&#xff0c;它虽然使用了诸如 CSS 和 HTML 之类的 Web 技术&#xff0c;但它使用 C&#xff03;语言和 Razor 语法代替 JavaScrip…

回顾 | 进击吧! Blazor !第四期 组件开发

Blazor 是一个 Web UI 框架&#xff0c;可通过 WebAssembly 在任意浏览器中运行 .Net 。Blazor 旨在简化快速的单页面 .Net 浏览器应用的构建过程&#xff0c;它虽然使用了诸如 CSS 和 HTML 之类的 Web 技术&#xff0c;但它使用 C&#xff03;语言和 Razor 语法代替 JavaScrip…

面试官:请问一条select的语句的执行会发生什么?

文章目录前言:一:执行一条select的概览二:具体流程1:连接器(1):步骤(2):浅浅来一下细节2:查询缓存(1):mysql5.8之前的幸福时光(2):mysql5.8之后的悲惨结果3:解析器(解析sql)(1):词法解析(2):语法解析4.执行sql(1):预处理阶段(2):优化阶段(3):执行器(1):概述(2):三种方式a:主键索…

跟我一起学.NetCore之MVC过滤器,这篇看完走路可以仰着头走

前言MVC过滤器在之前Asp.Net的时候就已经广泛使用啦&#xff0c;不管是面试还是工作&#xff0c;总有一个考点或是需求涉及到&#xff0c;可以毫不疑问的说&#xff0c;这个技术点是非常重要的&#xff1b; 在之前参与的面试中&#xff0c;得知很多小伙伴只知道有一两个过滤器&…

彭博社:中企游说政府否决英伟达收购Arm

9月14日&#xff0c;英伟达与软银宣布达成最终协议&#xff0c;英伟达将以400亿美元的价格从软银收购ARM。在台积电明确于9月15日后不再向HW的ARM提供代工服务之后&#xff0c;一家美国公司又将ARM收入囊中&#xff0c;这使国产ARM CPU在设计和制造环节都存在巨大风险&#xff…

Explain各个字段的含义

文章目录[TOC]1:expanin的结果示例2:各个字段的含义(1):id(2):select_type(3):table(4):type&#xff08;重要 我们利用索引查找出来的记录显示&#xff09;(5): possible_keys(6):key(7):key_len(8):ref(8):rows(重要)(9):extra1:expanin的结果示例 mysql> explain select…

asp.net core监控—引入Prometheus(三)

上一篇博文中说到Prometheus有四种指标类型&#xff1a;Counter&#xff08;计数器&#xff09;、Gauge&#xff08;仪表盘&#xff09;、Histogram&#xff08;直方图&#xff09;、Summary&#xff08;摘要&#xff09;&#xff0c;并且我们做了一个Counter的Demo&#xff0c…

秋招日常(一天三封感谢信)

就离谱 上午收到两封 搞得复习贼没心态 下午打完球回来一看手机又收到一封 这个有点伤 自己测评完 笔试 笔试完 约面 技术面过了 hr又面 面完说等消息 我寻思hr面能有啥可挂的 就离谱 一想到自己经过那么多轮 还是挂了 就难受 什么鬼 求求了 给个offer吧 要不我快成了天天向下的…

asp.net core监控—引入Prometheus(一)

Prometheus是CNCF毕业的第二个项目&#xff0c;算是明星产品&#xff08;可自行了解Prometheus的功能&#xff09;&#xff0c;asp.net core当然不能错过与之配套使用。在.net中是通过prometheus.net【https://github.com/prometheus-net/prometheus-net】引入的。上图是用Prom…