LeetCode 14 最长公共前缀 - 纵向扫描

📅 2026/8/15 13:43:04
LeetCode 14 最长公共前缀 - 纵向扫描
LeetCode 14 最长公共前缀以第一个串为基准逐位跟其他串比对。 最长公共前缀找字符串数组的最长公共前缀。[flower,flow,flight] → fl以第一个字符串为模板逐位扫描。当某一位上的字符不是所有串都有、或者某串的这一位跟它不一样前缀就到此为止。publicStringlongestCommonPrefix(String[]strs){for(intcol0;colstrs[0].length();col){charcstrs[0].charAt(col);for(introw1;rowstrs.length;row){if(colstrs[row].length()||strs[row].charAt(col)!c)returnstrs[0].substring(0,col);// 前缀到此为止}}returnstrs[0];// 第一个串全匹配}注意先判断col strs[row].length()再取 charAt——如果有一个字符串已经到头了直接返回当前前缀。先判越界再判不等顺序反了会抛异常。这题没算法难度但考察基本的字符串操作习惯。用 substring 返回结果比用 StringBuilder 拼接简洁。这题有人用 A 有人用 B你习惯哪种写法评论区贴一下你的解法以后复盘直接看自己的版本。