- Удалите первый символ строки s и передайте его роботу. Робот добавит этот символ к строке t.
- Удалите последний символ строки t и передайте его роботу. Робот напишет этот символ на бумаге.
Это вопрос из литкода. Извините за публикацию вопроса, но я думаю, что почти решил этот вопрос и просто потерял один балл за идеальный ответ.
это мой подход. Проблема, с которой я столкнулся, заключается в том, что во втором тестовом примере, входные данные которого - «bac», он печатает только «ab» вместо «abc», проходя два других случая. Любой может дать мне совет.
Код: Выделить всё
class Solution {
public:
char smallest(string s) {
char smallest = s[0];
for (int i = 1; i < s.length(); i++) {
smallest = min(smallest, s[i]);
}
return smallest;
}
string robotWithString(string s) {
stack myst;
string p = "";
myst.push(s[0]);
for (int i = 1; i < s.length(); i++) {
if (myst.empty()) {
myst.push(s[i]);
} else if (smallest(s.substr(i))
Подробнее здесь: [url]https://stackoverflow.com/questions/79799346/the-question-is-to-print-the-lexicographically-smallest-string-please-have-a-lo[/url]
Мобильная версия