LeetCode 2 - Add Two Numbers ( JAVA )
来源:互联网 发布:nginx 支持tcp加ssl 编辑:程序博客网 时间:2024/05/19 01:10
Difficulity :
You are given two linked lists representing two non-negative numbers. The digits are stored in reverse order and each of their 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
/** * 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) { ListNode prev = new ListNode(0); ListNode head = prev; int carry = 0; while (l1 != null || l2 != null || carry != 0) { ListNode cur = new ListNode(0); int sum = ((l2 == null) ? 0 : l2.val) + ((l1 == null) ? 0 : l1.val) + carry; cur.val = sum % 10; carry = sum / 10; prev.next = cur; //使下以个指针指向cur prev = prev.next; //移动一个指针 l1 = (l1 == null) ? l1 : l1.next; l2 = (l2 == null) ? l2 : l2.next; } return head.next; }};
总结:效率比较高,对本题的理解可以画内存图,head和prev同时指向一个内存空间,之后移动prev指针指向下一个。head链表在不断的加长。
0 0
- [LeetCode Java] 2 Add Two Numbers
- 【leetcode with java】2 Add Two Numbers
- * LeetCode【2】. Add Two Numbers--java实现
- Leetcode 2 Add Two Numbers Java
- LeetCode 2 - Add Two Numbers ( JAVA )
- [LeetCode-2]Add Two Numbers(java)
- leetcode#2-Add Two Numbers-java
- [Leetcode] Add Two Numbers (Java)
- Add Two Numbers LeetCode Java
- 【Leetcode】Add two numbers JAVA
- Leetcode Java Add Two Numbers
- Java Leetcode Add Two Numbers
- [LeetCode][Java] Add Two Numbers
- LeetCode : Add Two Numbers [java]
- leetcode:Add Two Numbers 【Java】
- Java-LeetCode-Add Two Numbers
- Add Two Numbers LeetCode Java
- [LeetCode]Add Two Numbers(Java)
- netty通信的tls部分
- hdoj 1433 Simply Syntax【模拟】
- Code Forces 18D Seller Bob(简单DP)
- THUThesis配置
- 泛型的定义与使用
- LeetCode 2 - Add Two Numbers ( JAVA )
- Web前端优化最佳实践及工具集锦(如减少页面加载时间)
- 陪你走到这里了
- 基于tigase服务器的安卓客户端开发---创建聊天
- jar10
- 笔试题15. LeetCode OJ (2)
- 定义一个泛型方法
- hdoj 1434 幸福列车【模拟】
- nginx重试机制-重新发起请求导致的问题