leetcode 使用步骤如下。
首先登陆网站申请账号密码,然后登陆。点击Problems下的各个项目,可以看到各种对应的题目。
如果完成并且通过,左边会出现绿色的小对勾,如果做过不通过,左侧就是一个问号。
我们可以在这里选择需要使用的语言,并在下方区域里编写代码。
如果题目做不出来,可以点击题目右边的笔记小图标打开官方的解答查看答案。。
1、登录领扣(leetcode)中国官网。点击【登录】或者【即可免费体验】进入账户注册界面。
2、在账户注册界面注册,可以使用手机或者邮箱注册。
3、填写账户密码等信息后,点击注册。
4、注册成功后会自动跳转到个人界面。以后,这里会显示个人的汇合信息。
5、注册完毕,编写一些简单的代码,点击下图红框的位置,选择【新建】。
6、在d出的语言选择项目里,选择自己需要编辑,以React为例。
7、如下,新页面内出现了可编辑区。
heir nodes contain a single digit. Add the two numbers and return it as a linked list.Input: (2 ->4 ->3) + (5 ->6 ->4)
Output: 7 ->0 ->8
思路:
思路非常简单,利用两个指针分别遍历两个链表,并且用一个变量表示是否有进位。某个链表遍历结束之后再将另一个链表连接在结果链表之后即可,若最后有进位需要添加一位。
代码:
[cpp] view plain copy
/**
* Definition for singly-linked list.
* struct ListNode {
* int val
* ListNode *next
* ListNode(int x) : val(x), next(NULL) {}
* }
*/
class Solution {
public:
ListNode *addTwoNumbers(ListNode *l1, ListNode *l2) {
int carry = 0
ListNode* tail = new ListNode(0)
ListNode* ptr = tail
while(l1 != NULL || l2 != NULL){
int val1 = 0
if(l1 != NULL){
val1 = l1->val
l1 = l1->next
}
int val2 = 0
if(l2 != NULL){
val2 = l2->val
l2 = l2->next
}
int tmp = val1 + val2 + carry
ptr->next = new ListNode(tmp % 10)
carry = tmp / 10
ptr = ptr->next
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)