2023-12-09 18:42:21 +08:00
< p > You are given a string < code > s< / code > and an integer < code > k< / code > . You can choose one of the first < code > k< / code > letters of < code > s< / code > and append it at the end of the string.< / p >
2022-03-27 18:35:17 +08:00
< p > Return < em > the lexicographically smallest string you could have after applying the mentioned step any number of moves< / em > .< / p >
< p > < / p >
2023-12-09 18:42:21 +08:00
< p > < strong class = "example" > Example 1:< / strong > < / p >
2022-03-27 18:35:17 +08:00
< pre >
< strong > Input:< / strong > s = " cba" , k = 1
< strong > Output:< / strong > " acb"
< strong > Explanation:< / strong >
In the first move, we move the 1< sup > st< / sup > character ' c' to the end, obtaining the string " bac" .
In the second move, we move the 1< sup > st< / sup > character ' b' to the end, obtaining the final result " acb" .
< / pre >
2023-12-09 18:42:21 +08:00
< p > < strong class = "example" > Example 2:< / strong > < / p >
2022-03-27 18:35:17 +08:00
< pre >
< strong > Input:< / strong > s = " baaca" , k = 3
< strong > Output:< / strong > " aaabc"
< strong > Explanation:< / strong >
In the first move, we move the 1< sup > st< / sup > character ' b' to the end, obtaining the string " aacab" .
In the second move, we move the 3< sup > rd< / sup > character ' c' to the end, obtaining the final result " aaabc" .
< / pre >
< p > < / p >
< p > < strong > Constraints:< / strong > < / p >
< ul >
< li > < code > 1 < = k < = s.length < = 1000< / code > < / li >
< li > < code > s< / code > consist of lowercase English letters.< / li >
< / ul >