个人随笔
目录
leetcode(五)、整数反转
2021-06-22 18:39:55

给你一个 32 位的有符号整数 x ,返回将 x 中的数字部分反转后的结果。

如果反转后整数超过 32 位的有符号整数的范围 [−231, 231 − 1] ,就返回 0。

假设环境不允许存储 64 位整数(有符号或无符号)。

示例 1:

输入:x = 123
输出:321
示例 2:

输入:x = -123
输出:-321
示例 3:

输入:x = 120
输出:21
示例 4:

输入:x = 0
输出:0

提示:

-231 <= x <= 231 - 1

解题要点

懒得考虑了,就用最粗暴的倒序

  1. public class Test7 {
  2. /**
  3. * 用最粗暴的方法解决
  4. * 执行结果:通过显示详情添加备注执行用时:12 ms, 在所有 Java 提交中击败了5.60%的用户内存消耗:36.4 MB, 在所有 Java 提交中击败了5.01%的用户
  5. * @param x
  6. * @return
  7. */
  8. public int reverse(int x) {
  9. //先判断是否是-
  10. String f="";
  11. if(x<0) {
  12. f="-";
  13. }
  14. int result = 0;
  15. //1、将x转换成字符串
  16. String str = x+"";
  17. if("-".equals(f)) {
  18. str =str.substring(1, str.length());
  19. }
  20. //2、倒序输出
  21. StringBuffer bf = new StringBuffer();
  22. boolean flag = true;//默认前面没有0
  23. for (int i = str.length()-1; i >=0 ;i--) {
  24. char now = str.charAt(i);
  25. if(now=='0') {
  26. if(flag) {
  27. continue;
  28. }
  29. }else {
  30. if(true) {
  31. flag=false;
  32. }
  33. }
  34. bf.append(now+"");
  35. }
  36. try {
  37. String r = f+bf.toString();
  38. //判断最后一位是不是-
  39. result = Integer.parseInt(r);
  40. } catch (Exception e) {
  41. // TODO: handle exception
  42. }
  43. return result;
  44. }
  45. public static void main(String[] args) {
  46. // //按周期来计算
  47. System.out.println(new Test7().reverse(-12300));
  48. }
  49. }

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/reverse-integer

 152

啊!这个可能是世界上最丑的留言输入框功能~


当然,也是最丑的留言列表

有疑问发邮件到 : suibibk@qq.com 侵权立删
Copyright : 个人随笔   备案号 : 粤ICP备18099399号-2