It won't be created if it already exists. In fact, you should get an error.
Furthermore, even though you define a string as NVARCHAR(MAX), you should precede the string itself with an N, like so:
DECLARE @query NVARCHAR(MAX) = N'...';
Running a dynamic query without the "N" may cause a really long query to be cut off and not run correctly.
I also make it a habit to precede the creation of a temp table with this (it's one of those CYA things):
IF UNIQUE_ID('tempdb..#tempTable', 'U') IS NOT NULL DROP TABLE #tempTable;