Since $\mathbb{S}^n$ is Hausdorff, compact and connected, any local homeomorphism $f:\mathbb{S}^n\rightarrow \mathbb{S}^n$ is a covering map (for example, convince yourself with this When is a local homeomorphism a covering map?).
But since $\mathbb{S}^n$ is simply connected for $n\geq 2$, and this object (the Universal covering map) is unique up to isomorphism of covering maps, $f$ is homeomorphic to the trivial cover $\mathbb{Id}_{\mathbb{S}^n}: \mathbb{S}^n\rightarrow \mathbb{S}^n$. This means that their fibers have the same cardinality 1. So, f is a diffeomorphism.
$\textbf{Added}:$ Observe that I never used the smoothness. So that, more generally, any local homeomorphism $f:\mathbb{S}^n\rightarrow \mathbb{S}^n$ is a homeomorphism if $n\geq 2$.