// 思路:遍历str2,得到所有的子串,判断str1是否包含这些子串, // 并返回一个最长的子串 function sameStr(str1, str2) { let start = 0; let end = 0; for (let i = 0; i < str1.length; i++) { for (let j = i + 1; j <= str2.length; j++) { if (str1.indexOf(str2.slice(i, j)) !== -1) { if (end < j) { // 表示最长子串从哪里开始 start = i; // 表示最长子串从哪里结束 end = j; } } } } if (end === 0) { return -1 } return str2.slice(start, end); } console.log(sameStr('gabcde', 'g'));