题目
两个字符串相乘,例如"12345" * “54321”,字符串不能直接转换为整型

public class StringMultiplication {public static void main(String[] args) {StringMultiplication s = new StringMultiplication();String s1 = "123";String s2 = "456";System.out.println(s.method(s1, s2));}public long method(String s1, String s2) {List<Integer> l1 = new ArrayList<>();List<Integer> l2 = new ArrayList<>();//存放每轮循环得到的值 该集合中元素相加 即为结果List<Long> l3 = new ArrayList<>();//字符串s1拆成数字存入l1for (int i = s1.length() - 1; i >= 0; i--) {int x = Integer.parseInt(s1.charAt(i) + "");l1.add(x);}//字符串s2拆成数字存入l2for (int i = s2.length() - 1; i >= 0; i--) {int x = Integer.parseInt(s2.charAt(i) + "");l2.add(x);}for (int i = 0; i < l1.size(); i++) {//用来 记录 两数相乘 之后需要进位的值 例如 6*7=42 则4需要加到前一位int n = 0;String str = "";for (int j = 0; j < l2.size(); j++) {int num;num = n + l1.get(i) * l2.get(j);n = num / 10;str += num % 10 + "";}//内层循环结束 发现n!=0时 需要加到str中if (n != 0) {str += n;}String s = "";//str的倒序 赋值给s 即为每次外层循环得到的结果for (int j = str.length() - 1; j >= 0; j--) {s += str.charAt(j);}//当外层循环的轮数>0时 结果末尾需要加0for (int j = 0; j < i; j++) {s += "0";}//System.out.println(s);l3.add(Long.parseLong(s));}long sum = 0;for (int i = 0; i < l3.size(); i++) {sum += l3.get(i);}return sum;}
}

云合智网 面试算法题 两个字符串相乘,例如“12345“ * “54321“,字符串不能直接转换为整型相关推荐

  1. Java常见的面试算法题:实现两个线程交替打印1到100的数

    Java常见的面试算法题:实现两个线程交替打印1到100的数 思路: 这是涉及到多个线程打印的问题,一定会用到锁的(synchronized),故这就是一个多线程打印的典型案例. 代码实现: pack ...

  2. 互联网公司最常见的面试算法题大集合!

      转载于 新智元   来源:Github 编辑:元子 [导读]LeetCode是一个美国的在线编程网站,收集了各个大厂的笔试面试题,对找工作的毕业生和开发者来说,非常有价值.很多求职者都会在Leet ...

  3. 常考面试算法题类型总结(来自知乎)

    作者:牛客网 链接:https://www.zhihu.com/question/24964987/answer/200681301 来源:知乎 著作权归作者所有.商业转载请联系作者获得授权,非商业转 ...

  4. 常见的面试算法题:创建几个线程按顺序打印数字或者字母(多线程编程)(套用该模板即可)

    常见的面试算法题:创建几个线程按顺序打印数字或者字母(多线程编程)(套用该模板即可) 比较典型的题目,如下有: 题目一: 1.启动3个线程打印递增的数字, 线程1先打印1,2,3,4,5, 然后是线程 ...

  5. 力扣高频算法php_互联网公司最常见的面试算法题有哪些?

    很多时候,你即使提前复习了这些最常见的面试算法题,你依旧无法通过算法面试! 为什么?你在提前准备复习的时候,在网上找了半天相应题目的分析文章,但你看了就是不懂. 你在面试的时候,卡壳了,一时间忘了怎么 ...

  6. 牛客网面试高频题top100(11~20)

    ** 牛客网面试高频题top100(11~20 java实现) ** 11.跳台阶 一只青蛙一次可以跳上1级台阶,也可以跳上2级.求该青蛙跳上一个 n 级的台阶总共有多少种跳法(先后次序不同算不同的结 ...

  7. 牛客网面试高频题top100(1~10)

    *牛客网面试高频题top100(1~10 java实现) 1.反转链表 描述: 给定一个单链表的头结点pHead(该头节点是有值的,比如在下图,它的val是1),长度为n,反转该链表后,返回新链表的表 ...

  8. C++经典面试算法题

    #include <assert.h> #include <string.h> #include <stack>// // C++ 经典面试算法题 [7/28/20 ...

  9. 【笔试面试题】腾讯2013实习生面试算法题及参考答案

    总结了一下自己遇到的以及同学遇到的面试算法题,是技术二面. 有几道题给出了参考答案,还有几道没有好的思路.路过的大侠如果有好的思路请留个言交流下呗~ 1.八数码问题:3*3的格子,有1~8个数,空了一 ...

最新文章

  1. 查看和设置MySQL数据库字符集(转)
  2. 自定义导航栏,实现缓存,更新缓存,提高效率
  3. 格式化输出字符串变量
  4. activemq 连接_ActiveMQ网络连接器
  5. 坦克大战 Java版
  6. php json获取get请求,PHP简单的Curl的Get请求和Curl的Post请求和file_get_contents的Get请求获取接口JSON数据...
  7. 存储过程不可以封装_【小知识】功率半导体器件之10功率器件的封装可靠性
  8. matlab绘制球面点,我需要在MATLAB的笛卡尔坐标中绘制球面方程的帮助
  9. SpringBoot和监控管理
  10. php 怎么查看原生方法源码_你的2020搜索账单地址入口 你的2020搜索账单怎么查看查看方法...
  11. fiddler之数据统计(statistics)
  12. web开发中特殊字符的对应值与转义字符
  13. OpenGL基础7:彩色三角形
  14. 工作 3 年就是高级,这就是差距啊
  15. 操作系统课程设计----模拟文件管理系统(c语言)
  16. c++ 循环控制语句 while语句 do...while语句 for语句 for循环
  17. Openwrt/Lede软路由设置为旁路由模式
  18. 国家互联网信息办公室公布《互联网新闻信息服务单位内容管理从业人员管理办法》【软件网每日新闻播报│第10-31期】
  19. mysql 数据库主从
  20. DNS域名解析和正向解析

热门文章

  1. 百度关于EMP的探索:落地生产可用的微前端架构
  2. YOLO模型 训练及预测
  3. vue使用WangEditor富文本编辑器(批量上传图片到服务器)
  4. GG云更新 - 测试代码
  5. 普林斯顿大学计算机科学排名,普林斯顿大学计算机科学与信息系统世界排名2020年最新排名第11(QS世界排名)...
  6. 简单三步,入驻行云管家管理您的云资源
  7. Redis 单数据多源超高并发下的解决方案 1
  8. 基于matlab的音频信号低通滤波实验
  9. Tuxedo常用命令
  10. l5630鲁大师跑分_鲁大师安卓3D引擎更新,跑分测试精准度再升级