• 【LC_Lesson2】---整数反转练习


    题目描述:

      给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。

    示例 1:

    输入: 123
    输出: 321

     示例 2:

    输入: -123
    输出: -321
    

    示例 3:

    输入: 120
    输出: 21

    一. 题目分析
      难以程度: 简单
      思路: 整数反转较为简单,若不考虑临界溢出状况,基本就没啥考得了。int型数据范围[-2^31,2^31-1],在计算完最终得反转数据后,进行范围判断即可。

    二. 代码如下:
    C++实现:
     1 int Solution::reverseNum(int num)
     2 {
     3     long rev = 0;
     4     while(num)
     5     {
     6         int pop = num%10;
     7         num /= 10;
     8         rev = rev*10+pop;     
     9         if(rev>INT_MAX || rev<INT_MIN)
    10         {
    11             cout << "reverse result over folw" << endl;
    12             rev = 0; 
    13             break;
    14         }
    15     }
    16     cout << rev << endl;
    17     return rev;
    18 }

    经验小贴士:

      1. 学习反转数得一种操作思想, 特别是这句“rev = rev*10+pop;  “,最开始自己写得时候,竟然用了一个数组存了每一位得数据,然后再去颠倒乘出最后得结果,简直巨笨了。

      2. 调试过程中cout输出char型数据是,输出得是其ascii码,而数值。

      3. cout<<*hex<<x;  按照10进制格式输出数据

    Python实现:

     1 class Solution():
     2     def reverse_Num(self, num:int) -> int:
     3         
     4         rev = 0
     5         while(num):
     6             pop = num%10
     7             rev = rev*10 + pop
     8             num = num//10;
     9 
    10             if rev>pow(2,31)-1 or rev<(-1)*pow(2,31):
    11                 print('reverse Value over flow')
    12                 rev = 0
    13                 break
    14         return rev

    经验小贴士:

      1. 学习到一种表示方式 def fun(x: int) --> int;  表示该函数得形参指定为int型数据,同时返回值也为int型数据

      2. 和同事探讨,Python面向对象得思想比较弱,甚至可以把它得类看成一种函数,不需要该类定义一个函数实体,即可使用类中得方法

    三. 总结

      坚持就是胜利

     




  • 相关阅读:
    rabbitmq
    C#操作redis
    C#设计模式——桥接模式
    C#设计模式——代理模式
    C#设计模式——外观者模式
    WPF Item内TextBox获取焦点时如何选中当前Item
    解决异常System.Runtime.Interopservices.COMException RequestLock问题
    【转】WPF中Binding的技巧(一)
    【转】WPF中的Binding技巧(二)
    ASP.NET State Service服务
  • 原文地址:https://www.cnblogs.com/szhb-5251/p/11739383.html
Copyright © 2020-2023  润新知