From 6aac77c285f2195b2d3d28826904229f06cbd4a7 Mon Sep 17 00:00:00 2001 From: Japneet Kaur Bhatia <56752427+japneetbhatia@users.noreply.github.com> Date: Fri, 21 Oct 2022 11:03:04 +0530 Subject: [PATCH] string compression --- String/stringCompression.java | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 String/stringCompression.java diff --git a/String/stringCompression.java b/String/stringCompression.java new file mode 100644 index 0000000..4d1eb9f --- /dev/null +++ b/String/stringCompression.java @@ -0,0 +1,22 @@ +//Input: aaaabbbccc +//Output: abc + +public static String stringCompression(String str){ + int n = str.length(); + int i = 1; + char curr = str.charAt(0); + StringBuilder sb = new StringBuilder(); + sb.append(curr); + while(i < n) { + if(curr == str.charAt(i)) { + i++; + } else { + curr = str.charAt(i); + sb.append(curr); + } + } + return sb.toString(); + } + +//Time Complexity : O(n) +//Space Complexity: O(1)