On polynomials satisfying $f\bigl(f(x)\bigr)=x$

Prove or disprove with examples: the only polynomials $f : \mathbb R \to \mathbb R$ satisfying $$f\bigl(f(x)\bigr)=x$$ are $$f(x)=x, \qquad f(x)=c-x.$$


My idea was to use the fact that functions satisfying $f\bigl(f(x)\bigr)=x$ are reflected along the line $y=x$.

This must lead to some case where $f(x)$ takes two values (if $f$ deviates from $y=x,y=c-x$), thus $f$ cannot be a real function, and is thus not a polynomial.

However, I was unable to provide a rigorous proof. Any insight on how to proceed will be greatly appreciated.


Hint: What must the degree of $f$ be?