当前位置:   article > 正文

sql面试题及答案,力扣刷题笔记—,前端开发面试书籍_sql 刷题

sql 刷题

循环体;

}

执行顺序:

1、表达式1:只执行一次。初始化

2、判断表达式2是否为真。

3、循环体

4、表达式3;

第二趟  开始 就不走表达式1的初始化了

从表达式2开始走

2、判断表达式2是否为真。

3、循环体

4、表达式3;

如果没有表达式2 那么JAVA认为他 永远为真

通过for循环来写一个死循环

for( ; ; )

{

循环体;

}

言归正传:在本题(第二题)可以一个while走天下!

本题举例 如数字

x=-1 234 500

他是个负数,末尾还有0

对他进行反转,

首先 末位数 last=x%10=0

反转数 int rev=0

rev=rev*10+last;

这样如果末位数是个0

初始

rev=0*10+0

然后还有一个0

rev=(0*10+0)*10+0

后面的两个0都不会因为反转被摆在第一位第二位

这时候该对五进行反转

-123 450 0已经经过两次除10操作,把0全部去掉了

x=x/10两次,此时的x已经是 -12345了

然后 -12345%10==-5

last=-5(随着末位数last被除10弹出,负号也自带出来啦)

rev=0+(-5)

x=x/10=-12345/10=-1234

last=-1234%10=-4

rev=(0±5)*10+(-4)

顺次下去,三句话完成任意整数反转

while(x!=0)

{

last=x%10;

x=x/10;

rev=rev*10+last;

}

这时候一定有小伙伴在刷第一题是对官方题解(JAVA版本)中的 Integer.MAX_VALUE一头雾水,心里想:我擦,这是个什么妖魔鬼怪。

if(rev>Integer.MAX_VALUE||rev<Integer.MIN_VALUE)//这行代码是核心关键哦

{

return 0;

}

这一定是很多好兄弟的心声,刚想明白了while循环怎么写

这怎么还要对最大值做判断捏?刚降了一个妖怎么又来了一个魔?

下面请看详解ÿ

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/一键难忘520/article/detail/871951?site
推荐阅读
相关标签
  

闽ICP备14008679号