there is no need of .. 0^+ instead of 0
in regualar expression → 0(0+1)*0
because (0+1)* can generate all the string required ,,,
{ (0+1)* = 0(0+1)*0 = 00(0+1)*00 = 0^n(0+1)*0^n }
In Reg. exp → 0(0+1)*0
two head and trail zeroes are included to cover \\the base case k = 1