给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。
示例 1:
输入: 123
输出: 321
示例 2:
输入: -123
输出: -321
示例 3:
输入: 120
输出: 21
#!/bin/bash
#整数反转
#author:yzt_2019_10_21
flag_1=`echo "$1"|grep "-"` #判断$1是否为负数
if [ $flag_1 ];then #若$flag_1为非空,则进入then语句;否则进入else语句
num_1=`echo "$1"|sed 's#-##g'` #先把负号取消
num_2=`echo "$num_1"|rev` #字符串反转
flag_2=`echo "$num_2"|bc` #取消反转后以0开头的整数0
echo "-$flag_2" #输出
else
num_1=$1
num_2=`echo "$num_1"|rev`
flag_2=`echo "$num_2"|bc`
echo "$flag_2"
fi
效果展示:
[root@localhost leetcode]# ./zhengshufanzhuan.sh 10
1
[root@localhost leetcode]# ./zhengshufanzhuan.sh -10
-1
[root@localhost leetcode]# ./zhengshufanzhuan.sh 1000010
100001
[root@localhost leetcode]# ./zhengshufanzhuan.sh -1000010
-100001
[root@localhost leetcode]# ./zhengshufanzhuan.sh -100001003845239492349
-943294932548300100001
[root@localhost leetcode]# ./zhengshufanzhuan.sh 123
321
[root@localhost leetcode]# ./zhengshufanzhuan.sh -123
-321
[root@localhost leetcode]# ./zhengshufanzhuan.sh 1200
21