刷了两道题

leetcode上的Two Sum和Add Two Numbers.

twoSum给出的问题是,给定一个整数数组和一个整数,求其中的哪两个元素的和等于给定的那个整数,并返回这两个元素的索引。

我的思路是,进行两层循环,从数组第一个元素开始,分别与它后面的元素相加,这样就能保证遍历完成时,数组中任意两个数都相加过。然后将和等于给定整数的两个元素的索引返回成一个vector<int>。

addNum给出的问题是,给定两个链表,分别倒序表示两个整数,比如2->4->3,和5->6->4,表示的是342和465。如何得出一个链表,等于这两个链表代表整数的值。

我的思路是,首先建立和的链表的首节点,并设置一个链表的指针控制变量。然后设置一个循环,当所创建链表为空链表时停止循环。按照链表遍历的顺序,两个数相加是从个位数相加。

在遍历过程中还要保证两个数字位数不同的情况,以及两个位数相同的数字相加后变成多位数的情况。此时使用?:计算符就可以更方便的去控制变量。

整个循环过程是这样控制的:

如果该位数和大于10,则将该位数值减去10后重新存储。并设置一个变量t=1;如果不大于10,则t=0;

控制加数链表l1,l2,如果链表为空,则让它指向空指针,如果本身不为空,则指向下一个元素。

进行创建和链表的下一位数。

如果l1,l2有一个不为空,二者为空,但是t不等于0,则说明还有下一位数。

然后创建下一位的元素sumNode=(l1?l1->val:0)+(l2?l1->val:0)+t;

意思是说,如果加数改为为空,代表此处数值为0。t代表进位+1。

时间: 2024-12-17 10:02:16

刷了两道题的相关文章

关于字符串的两道题

js关于字符串的两道题 1.编写函数rightchange(char,n),实现字符串char 循环右移n位 function rightchange(char,n){ var arr = char.split(""); n = n % arr.length;//取余 for(var i=1;i<=n;i++){ arr.unshift(arr.pop()); } console.log(arr.join("")); } rightchange("a

函数与指针参数——关于两道题目的个人理解

题目1,下面的代码的输出结果是什么 1 #include<stdio.h> 2 3 void get(char *p) 4 { 5 p="hello!"; 6 } 7 8 int main(int argc, char const *argv[]) 9 { 10 char *str=NULL; 11 str = get(); 12 13 printf("%s\n",str); 14 15 return 0; 16 } 读者也可以自己思考一下答案是多少,当

leetcode刷题--两数之和(简单)

一.序言 第一次刷leetcode的题,之前从来没有刷题然后去面试的概念,直到临近秋招,或许是秋招结束的时候才有这个意识,原来面试是需要刷题的,面试问的问题都是千篇一律的,只要刷够了题就差不多了,当然你的基础也要扎实,毕竟在技术面的时候很容易露馅的. 所以奉劝各位还未毕业,在大三或大二的师弟师妹早点刷题,心里也有底气进入求职大军,毕竟大四开始刷题的话时间上有些太紧了,推荐刷题的话就是牛客和leetcode. 回归正题,这次记录的是leetcode刷的第一题--两数之和. 二.审题 审题真的很重要

php封装协议的两道题

这几天终于刷完了自己说是要刷完的那几道题,赶紧写几篇博客记录.. 1.  先看看这个网站:https://blog.csdn.net/qq_41289254/article/details/81388343 接下来直接上题: 1.http://123.206.87.240:8005/post/index.php?file=show.php 看源码和抓包都无果,根据题目提示,flag在index里,应该想到这里是要我们找到index.php的源码. 再看url里面file参数=show.php这里

小测(noip2005的两道题) 2017.3.3

过河 题目描述 Description 在河上有一座独木桥,一只青蛙想沿着独木桥从河的一侧跳到另一侧.在桥上有一些石子,青蛙很讨厌踩在这些石子上.由于桥的长度和青蛙一次跳过的距离都是正整数,我们可以把独木桥上青蛙可能到达的点看成数轴上的一串整点:0,1,……,L(其中L是桥的长度).坐标为0的点表示桥的起点,坐标为L的点表示桥的终点.青蛙从桥的起点开始,不停的向终点方向跳跃.一次跳跃的距离是S到T之间的任意正整数(包括S,T).当青蛙跳到或跳过坐标为L的点时,就算青蛙已经跳出了独木桥.题目给出独

DFS解法的两道题 Leetcode 46 Permutations &amp; Leetcode 78 Subset

Leetcode 78 Subset Given a set of distinct integers, S, return all possible subsets. Note: Elements in a subset must be in non-descending order. The solution set must not contain duplicate subsets. For example,If S = [1,2,3], a solution is: [ [3], [1

算法进阶指南二分章节的两道题

A.题意:给定个数为N的数列,从中挑一些不小于L的连续子段,求这些子段当中的数平均值最大是多少? 思路:二分平均值转化为判定.我们直接去求这个>=L的子段当中的最大平均值比较难求.所以我们可以用二分的方法枚举mid,然后在判定这个mid是否合法. 判定方法为,是否存在一个长度大于L的连续子段它的平均值>=mid.如果不存在,说明以mid为平均值取大了.则取r=mid. 对平均值的处理有一种特殊方法,另每一个数都减去mid,则判定方法就转化为是否存在一个长度>=L的连续子段,使得每个数的和

做前端程序员能在一线城市买上房?出两道题考考你

一次对几十名前端开发程序员的面试,我们需要若干 3 年左右经验的前端工程师开发维护一些移动单页模块,和一些 PC 增删改查前端应用.因为采用了外包模式,所以预定的策略是技术能用即可,不要求独立完成项目,只是对业务经验有一定要求,对简历筛的很松.面试重点放在了考察应聘者的业务理解,沟通,以及性格上. 也是因为这个原因,这一波面试让我感受到了一些令我有点吃惊的"前端生态". 对web开发技术感兴趣的小伙伴,欢迎加入:前端学习圈,不管你是小白还是大牛我都欢迎 我先挑两个我出的面试题给大家看看

leetcode刷题两数之和

给定一个整数数组 nums?和一个目标值 target,请你在该数组中找出和为目标值的那?两个?整数,并返回他们的数组下标. 你可以假设每种输入只会对应一个答案.但是,你不能重复利用这个数组中同样的元素. 示例: 给定 nums = [2, 7, 11, 15], target = 9 因为 nums[0] + nums[1] = 2 + 7 = 9 所以返回 [0, 1] 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/two-sum 两