# 14.Longest Common Prefix <span class="tag" data-diff="easy" />
{%hackmd RN5D4nggQRO8wzNqxuvlNw %}
## 題目
Write a function to find the longest common prefix string amongst an array of strings.
If there is no common prefix, return an empty string "".
**Example 1:**
```
Input: ["flower","flow","flight"]
Output: "fl"
```
**Example 2:**
```
Input: ["dog","racecar","car"]
Output: ""
Explanation: There is no common prefix among the input strings.
```
**Note:**
All given inputs are in lowercase letters a-z.
## 思路
這題不難,順便拿來試試看javascript ES6的解構賦值(Deconstruct assigment),由於不知道`strs`裡面會傳來多少筆string,利用解構賦值可以取出第一筆字串存在ref,並把剩餘的字串傳給res,接著loop過ref字串,同時用array中的every函式判斷rest中的每一個字串是否與ref中的字元相同,若相同則記錄到ans中,若否則可以直接回傳ans。取值完之後,要注意若strs式空陣列,則ref會是`undefine`,這時可直接回傳空字串。
```javascript
let [ref, ...res] = strs,
ans = "";
if(!ref) return "";
for(let i in ref.split("")){
if(res.every(x => x[i] == ref[i])) ans += ref[i];
else return ans;
}
return ans;
```