思路:
將字符按字典排序得到minStr,對比原str
如果 minStr === str 則本身就是最小字符串
否則從前往后遍歷str,讓str[i]和minStr[i]對比,如果不同則替換 str[i]為minStr[i],并且這個minStr[i]這個字符要從str中尋找,
如果存在多個該字符則找最后一個字符與他替換才能成為最小字符串。
const str = "bcdefa";
function solution(str) {const minStr = str.split("").sort().join("");if (minStr === str) return str;for (let i = 0; i < str.length; i++) {if (str[i] !== minStr[i]) {const char = minStr[i];const changeIndex = str.lastIndexOf(char);const arry = str.split("");[arry[i], arry[changeIndex]] = [arry[changeIndex], arry[i]];return arry.join("");}}
}
console.log(solution(str));
/* abcdef => abcdef bcdefa => acdefa*/