The observation: if total sum is odd, return false immediately. You can't split an odd number into two equal integers. If is even, you need to find a subset summing to . The other subset automatically sums to too.
This converts the partition problem into: "Can I fill a knapsack of capacity exactly?" Each number is an item with weight equal to its value. You either include it or skip it, exactly like 0/1 knapsack. The "value" doesn't matter here because you just need to hit the target exactly, not find the largest anything.