Archives
Trending
Support
Login
clear text
XML
Django
JavaScript
MATLAB
C
C++
C#
Python
SQL
Shell
Bash
Markdown
YAML
JSON
HTML
CSS
PHP
Java
Ruby
Go
Rust
Swift
Kotlin
Arduino
TypeScript
Perl
Autohotkey
Lua
SQF
R
Scala
Haskell
Groovy
Dart
Clojure
VB.NET
Objective-C
PowerShell
Bash
CoffeeScript
Verilog
class Solution { int ptr = 0; public String decodeString(String s) { return helper(s.toCharArray()); } public String helper(char[] sArr) { int multiplier = 1; String substring = ""; StringBuilder sb = new StringBuilder(); while(ptr < sArr.length) { char c = sArr[ptr]; if(Character.isDigit(c)) { multiplier = parseInt(sArr); } else if(c == '[') { ptr++; substring = helper(sArr); while(multiplier > 0) { sb.append(substring); multiplier--; } } else if(Character.isLetter(c)) { substring = parseString(sArr); sb.append(substring); } else if(c == ']') { String finalString = sb.toString(); multiplier--; while(multiplier > 0) { multiplier --; sb.append(finalString); } multiplier = 1; ptr++; break; } } return sb.toString(); } public String parseString(char[] sArr) { StringBuilder sb = new StringBuilder(); while(ptr < sArr.length && Character.isLetter(sArr[ptr])) { sb.append(sArr[ptr]); ptr++; } return sb.toString(); } public int parseInt(char[] sArr) { StringBuilder sb = new StringBuilder(); while(ptr < sArr.length && Character.isDigit(sArr[ptr])) { sb.append(sArr[ptr]); ptr++; } return Integer.parseInt(sb.toString()); } }
Mark as private (unlisted)
for 30 minutes
for 6 hours
for 1 day
for 1 week
for 1 month
for 1 year
everlasting (like CCCP)