The novelty of my algorithm is only to append the string with itself before comparison.
It's deduced with the comparison of any two strings:
e.g., "1121" and "112".
We can get correct answer from the comparison between "11211121" and "11211211".

Yes, I also think your algorithm is novel and intuitively it's correct. But, I cannot find a proof to show that it definitely works. It's easy to show that 1121,112 is smaller than 112,1121.