1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
| class Solution { public String finalString(String s) { Deque<Character> deque = new ArrayDeque<>(s.length()); boolean addLast = true; for (int i = 0; i < s.length(); i++) { char c = s.charAt(i); if (c == 'i') { addLast = !addLast; } else { if (addLast) { deque.addLast(c); } else { deque.addFirst(c); } } }
StringBuilder sb = new StringBuilder(); for (char c : deque) { sb.append(c); } return addLast ? sb.toString() : sb.reverse().toString(); } }
|