가장 긴 공통 접두사
5098 단어 leetcodeeasycsharpalgorithms
문제 설명
문자열 배열 중에서 가장 긴 공통 접두사 문자열을 찾는 함수를 작성하십시오.
공통 접두사가 없으면 빈 문자열
""
을 반환합니다.예 1
Input: strs = ["flower","flow","flight"]
Output: "fl"
예 2
Input: strs = ["dog","racecar","car"]
Output: ""
Explanation: There is no common prefix among the input strings.
설명
找出陣列中所有元素最長的相同字符並返回,如果沒有相同字符則返回空字串
""
.例如
cat
和 carry
相同的前綴字符為 ca
해결책
用雙迴圈逐一比對,第一層遍歷元素長度,第二層則遍歷陣列內所有元素.
但是找尋陣列內元素時,不可使用超出元素長度的索引,故先找到陣列內最短長度的元素,再以此長度作為第一層迴圈的中止值.
public string LongestCommonPrefix(string[] strs)
{
if (strs.Length == 0) return null;
string res = string.Empty;
string str = strs[0];
foreach (var s in strs)
{
if (s.Length < str.Length)
str = s;
}
int len = strs.Length;
for (int i = 0; i < str.Length; i++)
{
for (int j = 0; j < len; j++)
{
if (str[i] == strs[j][i])
continue;
else
return res;
}
res += str[i];
}
return res;
}
참조
LeetCode Solution
GitHub Repository
글 읽어주셔서 감사합니다 🌷 🌻 🌼
마음에 드셨다면 주저말고 하트 꾸욱 눌러주세요❤️
또는 내 Leetcode 솔루션에서 좋아요를 클릭하세요.
또는 내 GitHub ⭐ 팔로우
또는 커피를 사주세요 ⬇️ 감사합니다.
Reference
이 문제에 관하여(가장 긴 공통 접두사), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/fakestandard/longest-common-prefix-fnj텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)