File tree Expand file tree Collapse file tree 1 file changed +44
-0
lines changed Expand file tree Collapse file tree 1 file changed +44
-0
lines changed Original file line number Diff line number Diff line change
1
+ //Reverse an array without affecting special characters
2
+ class GFG
3
+ {
4
+ public static void reverse (char str [])
5
+ {
6
+ // Initialize left and right pointers
7
+ int r = str .length - 1 , l = 0 ;
8
+
9
+ // Traverse string from both ends until
10
+ // 'l' and 'r'
11
+ while (l < r )
12
+ {
13
+ // Ignore special characters
14
+ if (!Character .isAlphabetic (str [l ]))
15
+ l ++;
16
+ else if (!Character .isAlphabetic (str [r ]))
17
+ r --;
18
+
19
+ // Both str[l] and str[r] are not spacial
20
+ else
21
+ {
22
+ char tmp = str [l ];
23
+ str [l ] = str [r ];
24
+ str [r ] = tmp ;
25
+ l ++;
26
+ r --;
27
+ }
28
+ }
29
+ }
30
+
31
+ // Driver Code
32
+ public static void main (String [] args )
33
+ {
34
+ String str = "a!!!b.c.d,e'f,ghi" ;
35
+ char [] charArray = str .toCharArray ();
36
+
37
+ System .out .println ("Input string: " + str );
38
+ reverse (charArray );
39
+ String revStr = new String (charArray );
40
+
41
+ System .out .println ("Output string: " + revStr );
42
+ }
43
+ }
44
+
You can’t perform that action at this time.
0 commit comments