We use "no" to negate a noun (including its determiners and adjectives), in this case, "no (ordinary) girl". This is perfectly correct; it is not slang.
We use "not" to negate a verb, so we could rewrite the sentence using "was not": "This was not an ordinary girl."
Both sentences have the same meaning; it's just a matter of style.