Example 7 Find all non-zero polynomials $P(x)$ that satisfy $P\left(x^{2}\right)=[P(x)]^{2}(x \in \mathbf{R})$.
(1980 Romanian Olympiad Problem)
When $P(x)$ is a non-zero constant $a$, i.e., $a=P\left(x^{2}\right)=[P(x)]^{2}=a^{2}$, thus $a=1$, i.e., $P(x)=1$ satisfies the condition. When $P(x)$ is an $n(\geqslant 1)$-degree polynomial, let the required polynomial be $P(x)=a_{n} x^{n}+$ $a_{n-1} x^{n-1}+\cdots+a_{1} x+a_{0}$, where $a_{n} \neq 0$, comparing the leading coefficient of $P\left(x^{2}\right)=a_{n} x^{2 n}+a_{n-1} x^{2 n-2}+\cdots+a_{0}$ and $[P(x)]^{2}=\left(a_{n} x^{n}+a_{n-1} x^{n-1}+\cdots+a_{0}\right)^{2}=a_{n}^{2} x^{2 n}+\cdots$ we get $a_{n}=1$.

Assume that at least one of the coefficients $a_{n-1}, a_{n-2}, \cdots, a_{1}, a_{0}$ is not 0, and let $k(<n)$ be the largest integer such that $a_{k} \neq 0$, then comparing the $x^{n+k}$ term coefficients of $P\left(x^{2}\right)=x^{2 n}+a_{k} x^{2 k}+\cdots$ and $[P(x)]^{2}=x^{2 n}+2 x^{n}\left(a_{k} x^{k}+\cdots\right)+$ $\left(a_{k} x^{k}+\cdots\right)^{2}=x^{2 n}+2 a_{k} x^{n+k}+\cdots$ we get $2 a_{k}=0$, i.e., $a_{k}=0$, thus $a_{n-1}=a_{n-2}=\cdots=a_{1}=a_{0}=0$, hence $P(x)=x^{n}$ or $P(x)=1$ are the solutions.