128. Concatenate Column-Wise with an Outer Join

Medium

Combine df1 and df2 side by side (columns from both, side by side), aligning rows by index label and keeping every index label that appears in either DataFrame — filling with NaN wherever one side has no value for a given label.

Sample data: df1:

   x
a  1
b  2
c  3

df2:

    y
b  10
d  20
Implement solve(...)