大廠面試題 力扣第9題超詳細解析

2021-10-09 06:59:17 字數 1413 閱讀 5032

題目描述:

判斷乙個數是否是回文數。回文數是指正序(從左到右)和倒序(從右到左)讀都是乙個數。例如121:正序和逆序都是121

解題思路:

既然我們知道了什麼是回文數,知道了回文數正序和逆序的特徵,我們可以利用這點,封裝乙個函式,將要判斷的整數傳入,我們需要把傳入 整數變成陣列,再得到乙個新的陣列,這個陣列是原陣列的倒序陣列,利用這兩個陣列的length相同,只需比較對應下標的值是否一樣即可判斷這個數是否是回文數。話不多說,直接上**感受一下~

1.首先把傳入的整數,變成陣列

function

ispalindrome

( x )

2.經過上述操作,我們已經把整數變成陣列,這個時候需要得到原陣列的倒序陣列
//定義乙個新陣列

var new_arr =

//迴圈把原陣列從後往前插入這個陣列

for(

var i = arr.length -

1; i >=

0; i --

)//這裡有小夥伴可能會問,陣列倒序簡單啊,直接reverse陣列api不就倒序了嗎?

//注意,reverse會返回乙個原陣列,也就是說會改變原陣列,我們需要用到原陣列,所以不能改變它,reverse在這裡不合適!!!

3.我們需要得到兩個陣列相應下標的值是否相等
//因為我們不好直接得到結果,所以定義乙個標識變數用來記錄狀態

var flag =

false

//遍歷隨便乙個陣列,因為兩個陣列length相等,我們只需得到下標即可,所以遍歷可以隨便

for(

var k =

0; k < new_arr.length ; k ++

)else

}

4.返回標識變數
function

ispalindrome

( x )

到這裡就實現了判斷回文數,整體**如下
function

ispalindrome

( x )

var flag =

false

for(

var k =

0; k < arr.length ; k ++

)else

}return flag

}var res =

ispalindrome

(123321

) console.

log(res)

//true

var res1 =

ispalindrome

(1233211

) console.

log(res1)

//false

大廠面試題 力扣第7題整數反轉超詳細解析

題目描述 給出乙個 32 位的有符號整數,你需要將這個整數中每位上的數字進行反轉。注意 假設我們的環境只能儲存得下 32 位的有符號整數,則其數值範圍為 231,231 1 請根據這個假設,如果反轉後整數溢位那麼就返回 0 例如 1534236469 反轉後變成 9646324351超過範圍,直接返...

刷題 力扣 面試題 08 11 硬幣

題目鏈結 題目描述 硬幣。給定數量不限的硬幣,幣值為25分 10分 5分和1分,編寫 計算n分有幾種表示法。結果可能會很大,你需要將結果模上1000000007 示例1 輸入 n 5 輸出 2 解釋 有兩種方式可以湊成總金額 5 55 1 1 1 1 1示例2 輸入 n 10 輸出 4 解釋 有四種...

刷題 力扣 面試題 01 08 零矩陣

題目鏈結 題目描述 編寫一種演算法,若m n矩陣中某個元素為0,則將其所在的行與列清零。示例 1 輸入 1,1,1 1,0,1 1,1,1 輸出 1,0,1 0,0,0 1,0,1 示例 2 輸入 0,1,2,0 3,4,5,2 1,3,1,5 輸出 0,0,0,0 0,4,5,0 0,3,1,0 ...