Dada la string str de longitud N , la tarea es atravesar la string e imprimir todos los caracteres de la string dada usando java.
Ilustración:
Input : str = “GeeksforGeeks” Output : G e e k s f o r G e e k s
Input : str = "GfG" Output : G f G
Métodos:
- Uso de bucles (enfoque ingenuo)
- Uso de iteradores (enfoque óptimo)
Método 1: Uso de bucles for
El enfoque más simple o más bien podemos decir ingenuo para resolver este problema es iterar usando un ciclo for usando la variable ‘ i’ hasta la longitud de la string y luego imprimir el valor de cada carácter que está presente en la string.
Ejemplo
Java
// Java Program to Iterate Over Characters in String // Class 1 // Main class // To iterate over characters class GFG { // Method 1 // To traverse the string and // print the characters of the string static void getChar(String str) { // Traverse the string using for loop for (int i = 0; i < str.length(); i++) { // Printing the current character System.out.print(str.charAt(i)); // Printing a space after each letter System.out.print(" "); } } // Method 2 // Main driver method public static void main(String[] args) { // Creating a String variable to store the string String str = "GeeksforGeeks"; // Calling the getChar method getChar(str); } }
G e e k s f o r G e e k s
La complejidad del tiempo es O(N) y la complejidad del espacio es O(1)
Método 2: usar iteradores
La string se puede recorrer usando un iterador. Estaríamos importando las clases CharacterIterator y StringCharacterIterator del paquete java.text
Ejemplo:
Java
// Java Program to Iterate Over Characters in String // Importing input output classes import java.io.*; // Importing CharacterIterator and StringCharacterIterator // classes from java.text package import java.text.CharacterIterator; import java.text.StringCharacterIterator; // Main class // To iterate over characters class GFG { // Method 1 // To traverse the string and // print the characters of the string static void getChar(String str) { // Creating a CharacterIterator variable CharacterIterator itr = new StringCharacterIterator(str); // Iterating using while loop while (itr.current() != CharacterIterator.DONE) { // Print the current character System.out.print(itr.current()); // Print a space after each letter System.out.print(" "); // Getting the next input from the user // using the next() method itr.next(); } } // Method 2 // Main driver method public static void main(String[] args) { // Creating a String variable to store the string String str = "GfG"; // Calling the getChar method getChar(str); } }
G f G
Complejidad del tiempo: O(N) y la complejidad del espacio es del orden O(1)