-
Notifications
You must be signed in to change notification settings - Fork 15
Expand file tree
/
Copy pathReverseString.java
More file actions
56 lines (43 loc) · 1.53 KB
/
ReverseString.java
File metadata and controls
56 lines (43 loc) · 1.53 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
package ReverseString;
public class ReverseString {
public static void main(String[] args) {
String str= "codeSnippet";
reverseUsingLoop(str);
reverseUsingStringBuilder(str);
reverseUsingTwoPointers(str);
}
private static void reverseUsingLoop(String str) {
String nstr ="";
for (int i = 0; i< str.length(); i++)
{
nstr= str.charAt(i)+nstr; //adds each character in front of the existing string
}
System.out.println("reverseUsingLoop: "
+ nstr);
}
private static void reverseUsingStringBuilder(String str) {
StringBuilder stringBuilder = new StringBuilder();
// append a string into StringBuilder stringBuilder
stringBuilder.append(str);
// reverse StringBuilder stringBuilder
stringBuilder.reverse();
// print reversed String
System.out.println("reverseUsingStringBuilder : "
+stringBuilder);
}
private static void reverseUsingTwoPointers(String str) {
char[] temArray = str.toCharArray();
int left, right = 0;
right = temArray.length - 1;
for (left = 0; left < right; left++, right--) {
// Swap values of left and right
char temp = temArray[left];
temArray[left] = temArray[right];
temArray[right] = temp;
}
System.out.print("reverseUsingTwoPointers :");
for (char c : temArray)
System.out.print(c);
System.out.println();
}
}