Самый простой способ перевернуть строку в Java

Обращение строки - один из наиболее часто задаваемых вопросов на техническом собеседовании по Java. Интервьюеры могут попросить вас написать различные способы перевернуть строку, или они могут попросить вас перевернуть строку без использования встроенных методов, или они могут даже попросить вас перевернуть строку с помощью рекурсии.

Ниже приведены различные методы, которые можно использовать для преобразования строки в Java.

Обратная строка в Java, самый простой способ

Самый простой способ перевернуть строку в Java - использовать встроенную функцию reverse() функция StringBuilder класс.

Пример:

package io.devqa.tutorials; import org.junit.jupiter.api.Test; import static org.junit.jupiter.api.Assertions.assertEquals; class ReverseString {
String reverse(String inputString) {
return new StringBuilder(inputString).reverse().toString();
}
@Test
public void testAWord() {
assertEquals('tobor', new ReverseString().reverse('robot'));
} }

Связанный:

Обратная строка с использованием рекурсии

Другой способ перевернуть строку в java - использовать рекурсию и использовать charAt() метод String класс



Пример:

import org.junit.jupiter.api.Test; import static org.junit.jupiter.api.Assertions.assertEquals; class ReverseString {
String reverse(String inputString) {

StringBuilder reverseStringBuilder = new StringBuilder();

for(int i = inputString.length() - 1; i>=0; i--){

reverseStringBuilder.append(inputString.charAt(i));
}

return reverseStringBuilder.toString();
}
@Test
public void testAWord() {
assertEquals('tobor', new ReverseString().reverse('robot'));
} }

Вариантом вышеизложенного является использование toCharArray() и перебрать символы, например:

import org.junit.jupiter.api.Test; import static org.junit.jupiter.api.Assertions.assertEquals; class ReverseString {
String reverse(String inputString) {
String outString = '';
for(char c : inputString.toCharArray()) {

outString = c + outString;
}
return outString;
}
@Test
public void testAWord() {
assertEquals('tobor', new ReverseString().reverse('robot'));
} }

Обратная строка в Java 8

import org.junit.jupiter.api.Test; import java.util.stream.Collectors; import java.util.stream.IntStream; import static org.junit.jupiter.api.Assertions.assertEquals; class ReverseString {
String reverse(String inputString) {
return IntStream.range(0, inputString.length())

.mapToObj(x-> inputString.charAt((inputString.length()-1) - x))

.map(character -> String.valueOf(character))

.collect(Collectors.joining(''));
}
@Test
public void testAWord() {
assertEquals('tobor', new ReverseString().reverse('robot'));
} }