diff --git a/ruby/0131-palindrome-partitioning.rb b/ruby/0131-palindrome-partitioning.rb new file mode 100644 index 000000000..4862b8980 --- /dev/null +++ b/ruby/0131-palindrome-partitioning.rb @@ -0,0 +1,33 @@ +def partition(s) + @result = [] + @part = [] + @s = s + + def dfs(i) + if i >= @s.length + @result.append(@part.dup()) + return + end + (i..@s.length-1).each do |j| + if is_palindrome(@s,i,j) + @part.append(@s[i..j]) + dfs(j+1) + @part.pop() + end + end + end + + dfs(0) + + return @result +end + + +def is_palindrome(s,i,j) + while i