Java: Given a string and an offset, rotate string by offset
Rotate String by Offset
Write a Java program that rotates a string by an offset (rotate from left to right.
Pictorial Presentation:
Sample Solution:
Java Code:
import java.util.*;
public class Example114 {
public static void main(String[] arg) {
// Input string
String str = "abcdef";
// Convert the string to a character array
char[] A = str.toCharArray();
// Define the offset for rotation
int offset = 3;
// Calculate the length of the character array
int len = A.length;
// Ensure that the offset is within the bounds of the array
offset %= len;
// Reverse the first portion of the array
reverse(A, 0, len - offset - 1);
// Reverse the second portion of the array
reverse(A, len - offset, len - 1);
// Reverse the entire array to complete the rotation
reverse(A, 0, len - 1);
// Print the rotated array
System.out.println("\n" + Arrays.toString(A));
}
// Helper function to reverse a portion of a character array
private static void reverse(char[] str, int start, int end) {
while (start < end) {
char temp = str[start];
str[start] = str[end];
str[end] = temp;
start++;
end--;
}
}
}
Sample Output:
[d, e, f, a, b, c]
Flowchart:
Java Code Editor:
Previous: Write a Java program to merge two given sorted array of integers and create a new sorted array.
Next: Write a Java program to check if a positive number is a palindrome or not.
What is the difficulty level of this exercise?
Test your Programming skills with w3resource's quiz.
- Weekly Trends and Language Statistics
- Weekly Trends and Language Statistics