Question: My teacher asked me this question. But I think this is wrong. Anyone found this, before me? I do not know. Anyway, Is my solution correct?

${x^{x^{x^{x^x}}}}^{...}=2$

$x^2=2$

$x=\sqrt 2$

${\sqrt2^{\sqrt2^{\sqrt2^{\sqrt2^\sqrt2}}}}^{...}=2$

Now,

Let, ${x^{x^{x^{x^x}}}}^{...}=4$

$x^4=4$

$x=\sqrt2$

${\sqrt2^{\sqrt2^{\sqrt2^{\sqrt2^\sqrt2}}}}^{...}=4$

Contradiction!

Answer: 
It's false: this number is defined as the limit of the sequence:
$$a\_0=\sqrt2, \quad a\_{n+1}={\sqrt{\rule{0pt}{1.8ex}2}}^{\,a\_n}$$
It is easy to show by induction this sequence is increasing and bounded from above by $2$. Thus, by the *monotone convergence theorem*, it tends to a limit $\ell\le 2$, which satisfies the equation
$$\ell=\sqrt{\rule{0pt}{1.8ex}2}^{\,\ell}\iff \log\ell=\frac{\ell\log 2}2\iff\frac{\log \ell}\ell=\frac{\log 2}2$$
It is known this equation has two solutions: $\ell=2$ or $\ell=4$. As $\ell\le 2$, the limit is actually the former.
What's missing in your analysis is a pair of **if**'s:

**If** there is a (positive real) number $x$ such that ${x^{x^{x^{x^x}}}}^{...}=2$, then $x=\sqrt2$.

and

**If** there is a (positive real) number $x$ such that ${x^{x^{x^{x^x}}}}^{...}=4$, then $x=\sqrt2$.

Both of these statements are true (you've proved that!). So we can conclude that the function $f(x)={x^{x^{x^{x^x}}}}^{...}$ cannot have both $2$ and $4$ in its range.

Note, the only value of $x$ that is *obviously* in the domain of $f$ is $x=1$. 

To show that $\sqrt2^{\sqrt2^{\sqrt2^{\ldots}}}\not=4$, it suffices to show, by induction, that if $a\_{n+1}=\sqrt2^{a\_n}$ with $a\_1=\sqrt2$, then $a\_n\lt2$ for all $n$: The base case is $a\_1=\sqrt2\lt2$, so if $a\_n\lt2$ then $a\_{n+1}=\sqrt2^{a\_n}\lt\sqrt2^2=2$.