javascript算法题(一)
题目:两数相加
给你两个 非空 的链表,表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的,并且每个节点只能存储 一位 数字。请你将两个数相加,并以相同形式返回一个表示和的链表。你可以假设除了数字 0 之外,这两个数都不会以 0 开头。
思路:两个链表从左向右加,将两者进位保存在一个变量中,等两个链表的同一位置运算完成,将指针同时移动到下一位,此时将上一位取模所得到的数字压入链表中。然后再执行上述操作,最后将表头输出即可。
过程:
根据这个思路图:最外层是一个while循环,最内层是if判断。每一种情况执行不同,运行到最后,将运算的节点插入一个新的链表中。在while结束的时候还需要判断是否存在需要进位的数,如果存在进位,则将其插入链表中即可。
代码:
<!DOCTYPE html>
<html lang="cn">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<script>
//节点封装