Given a string s, partition s such that every substring of the partition is a palindrome. Return all possible palindrome partitioning of s.
For example, given:
Input: "aab"
A valid output would be:
[
["a", "a", "b"],
["aa", "b"]
]
The goal is to generate all partitions where every substring is a palindrome using backtracking.