[LeetCode]Multiply Strings
2015-12-06 06:31
471 查看
在网上看了一个超级精妙的解法
public class Solution { public String multiply(String num1, String num2) { int length1 = num1.length(); int length2 = num2.length(); int[] record = new int[length1 + length2]; for (int i = length1 - 1; i >= 0; i--) { for (int j = length2 - 1; j >= 0; j--) { int tmp = (num1.charAt(i) - '0') * (num2.charAt(j) - '0'); int p2 = i + j + 1; int p1 = p2 - 1; tmp += record[p2]; record[p2] = tmp % 10; record[p1] += (tmp) / 10; } } StringBuffer result = new StringBuffer(""); for (int i = record.length - 1; i >= 0; i--) { result.insert(0, String.valueOf(record[i])); } String r = String.valueOf(result); while(r.length() > 1 && r.startsWith("0")) { r = r.substring(1); } return r; } }
相关文章推荐
- Mac 下 破解 sublime text 2 方法详解
- 从零开始学c语言教程
- C#设计模式——工厂方法模式
- [LeetCode]Construct Binary Tree from Preorder and Inorder Traversal
- ExtJS4.2学习(20)动态数据表格之前几章总结篇1(转)
- 对System.ComponentModel.DataAnnotations 的学习应用
- 【BLE】CC2541之SNV
- css3学习笔记(一)
- Angular JS 学习笔记四
- UVALive 6840 Sweet War (博弈dp)
- UVALive 6838 Flipping Parentheses (线段树)
- UVALive 6837 There is No Alternative (MST + LCA)
- UVALive 6833 Miscalculation (模拟)
- UVALive 6832 Bit String Reordering (模拟)
- django最简单表单入门
- UVALive 6834 Shopping (贪心)
- [LeetCode306] Additive Number
- [python爬虫] Selenium定向爬取PubMed生物医学摘要信息
- mvc项目架构搭建之UI层的搭建
- aJax提交——服务端不能用request存储数据,session存数据客户端可以接收到