【演算法之LeetCode系列(1)】——字串最長公共字首解法之一
阿新 • • 發佈:2021-01-16
技術標籤:演算法之力扣系列leetcodejavascript
主要思想
逐個比較,先比較兩個字串的最長公共字首,找出他們的最長公共字首,然後再與另外的字串進行比較,直到找到所有串的最長公共字首
話不多說,都在程式碼裡!
var longestCommonPrefix = function(strs) { if(strs === null || strs.length === 0) return '';//判斷陣列是否空 let temp = strs[0];//將陣列的第一個字串給temp for(let i = 1;i < strs.length; i ++){ let j = 0;//在這裡定義的原因是在下面這個迴圈結束時j還是初值0,即比較下兩個字串時還是從第一個字元開始的 for(;j < strs[i].length && j < temp.length; j ++){ if(temp.charAt(j) !== strs[i].charAt(j)) break;//從第一個字元開始,判斷兩字串的字元是否都相等 } temp = strs[i].substring(0,j);//上面的if不滿足後跳出if後,此時的j就是剛開始不相等的點 if(temp === '')return '';//無論哪兩個沒有公共字首,直接返回‘’ } return temp;//返回最長公共字首 };