大厂面试题-力扣第9题超详细解析


大厂面试题-力扣第9题超详细解析
题目描述:

判断一个数是否是回文数。回文数是指正序(从左到右)和倒序(从右到左)读都是一个数。例如121:正序和逆序都是121

解题思路:

既然我们知道了什么是回文数,知道了回文数正序和逆序的特征,我们可以利用这点,封装一个函数,将要判断的整数传入,我们需要把传入 整数变成数组,再得到一个新的数组,这个数组是原数组的倒序数组,利用这两个数组的length相同,只需比较对应下标的值是否一样即可判断这个数是否是回文数。话不多说,直接上代码感受一下~

1.首先把传入的整数,变成数组

function isPalindrome( x ){
//因为字符串变数组比较方便,所以利用字符串拼接先把整数变成字符串
x += ""
//再用split把字符串变成数组
var arr = x.split("")
}

2.经过上述操作,我们已经把整数变成数组,这个时候需要得到原数组的倒序数组

//定义一个新数组
var new_arr = []
//循环把原数组从后往前插入这个数组
for(var i = arr.length - 1 ; i >= 0 ; i --){
new_arr.push(arr[i])
}
//这里有小伙伴可能会问,数组倒序简单啊,直接reverse数组API不就倒序了吗?
//注意,reverse会返回一个原数组,也就是说会改变原数组,我们需要用到原数组,所以不能改变它,reverse在这里不合适!!!

3.我们需要得到两个数组相应下标的值是否相等

//因为我们不好直接得到结果,所以定义一个标识变量用来记录状态
var flag = false
//遍历随便一个数组,因为两个数组length相等,我们只需得到下标即可,所以遍历可以随便
for(var k = 0 ; k < new_arr.length ; k ++){
//如果对应下标的值相等,标识变量变成true
if(new_arr[k] === arr[k]){
flag = true
}else{
//只要有一个值不相等,说明这break个数不是回文数,标识变量变为flase,跳出循环,直接返回
flag = fasle
break
}
}

4.返回标识变量

function isPalindrome( x ){
return flag
}

到这里就实现了判断回文数,整体代码如下

function isPalindrome( x ){
x += ""
x = x.split("")
var arr = []
for(var i = x.length - 1 ; i >= 0 ; i --){
arr.push(x[i])
}
var flag = false
for(var k = 0 ; k < arr.length ; k ++){
if(arr[k] === x[k]){
flag = true
}else{
flag = false
break
}
}
return flag
}
var res = isPalindrome(123321)
console.log(res) //true

var res1 = isPalindrome(1233211)
console.log(res1) //false

原创:https://www.panoramacn.com
源码网提供WordPress源码,帝国CMS源码discuz源码,微信小程序,小说源码,杰奇源码,thinkphp源码,ecshop模板源码,微擎模板源码,dede源码,织梦源码等。

专业搭建小说网站,小说程序,杰奇系列,微信小说系列,app系列小说

大厂面试题-力扣第9题超详细解析

免责声明,若由于商用引起版权纠纷,一切责任均由使用者承担。

您必须遵守我们的协议,如果您下载了该资源行为将被视为对《免责声明》全部内容的认可-> 联系客服 投诉资源
www.panoramacn.com资源全部来自互联网收集,仅供用于学习和交流,请勿用于商业用途。如有侵权、不妥之处,请联系站长并出示版权证明以便删除。 敬请谅解! 侵权删帖/违法举报/投稿等事物联系邮箱:2640602276@qq.com
未经允许不得转载:书荒源码源码网每日更新网站源码模板! » 大厂面试题-力扣第9题超详细解析
关注我们小说电影免费看
关注我们,获取更多的全网素材资源,有趣有料!
120000+人已关注
分享到:
赞(0) 打赏

评论抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

您的打赏就是我分享的动力!

支付宝扫一扫打赏

微信扫一扫打赏