There is a while loop inside the for loop. Wondering why the time complexity is O(N+M) not O(N^2+M)?
I have the same question. Could someone help out here?
While loop only accesses each character 1 time while shrinking that’s why its time complexity is O(N).
For loop time complexity is also O(N) for the same reason.
So both loops complexity is O(N + N) = O (N)
O(M) is the time complexity for iterating over a pattern having M length.
That’s the reason for solution complexity being O(M + N).