Add Two Numbers
来源:互联网 发布:精华液知乎 编辑:程序博客网 时间:2024/05/16 08:32
Notes:
跟大数相加一样的原理;
最好在原来的链表上操作,这样最多只用开一个ListNode的空间;
O(n)的算法,竟然TLE !!!没天理啊!!T_T
/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode(int x) { val = x; } * } */public class Solution { public ListNode addTwoNumbers(ListNode l1, ListNode l2) { if(l1 == null){ return l2; } if(l2 == null){ return l1; } int cnt = 0, sum = 0; ListNode pListNode = l1, headListNode = l1; int k = 0; while(l1.next != null && l2.next != null){ sum = cnt + l1.val + l2.val; cnt = sum / 10; sum %= 10; l1.val = sum; l1 = l1.next; l2 = l2.next; } sum = cnt + l1.val + l2.val; cnt = sum / 10; sum %= 10; l1.val = sum; if(l1.next == null && l2.next == null){ } else{ while(l2.next != null){ l1.next = l2.next; } l1 = l1.next; while(l1.next != null){ sum = cnt + l1.val; cnt = sum / 10; sum %= 10; l1.val = sum; l1 = l1.next; } sum = cnt + l1.val; cnt = sum / 10; sum %= 10; l1.val = sum; } if (cnt != 0){ ListNode newNode = new ListNode(cnt); newNode.next = null; l1.next = newNode; } return headListNode; }}
0 0
- Add two numbers & Add binary
- LeetCode: Add Two Numbers
- Add Two Numbers
- LeetCode: Add Two Numbers
- [LeetCode]Add Two Numbers
- LeetCode Add Two Numbers
- Leetcode: Add Two Numbers
- Add Two Numbers
- LeetCode : Add Two Numbers
- LeetCode Add Two Numbers
- [LeetCode] Add Two Numbers
- LeetCode4: Add Two Numbers
- Leetcode : Add Two Numbers
- Add Two Numbers
- 【leetcode】Add Two Numbers
- add two numbers
- Add Two Numbers
- Add Two Numbers
- WebApp最佳实践用户体验篇:针对多种屏幕尺寸合理设计
- java DelayQueue
- 输入一个二叉树,输出其镜像。
- atitit.流程标准化--- mysql启动不起来的排查流程attilax总结
- Linux下安装MyEclipse和Tomcat服务器详解,以及我安装过程中所出现的问题以及解决办法,并实现一个web小程序
- Add Two Numbers
- LeetCode Spiral Matrix 细节&数组
- hi3531与hi3520Duboot文件系统说明
- 在vector中,怎样删除某个指定值的元素
- php readfile 下载大文件失败
- 翻转数组 两种方法
- 长沙安装假牙注意事项有哪些
- 120页第三题
- poj 1189 DP