Consider for all nonnegative integers $n$ the polynomial
$$p_n(x)=f\left(x+2^{-n}\right)-f(x).$$
Note that
$$p_n(x)+p_n(x+2^{-n})=p_{n-1}(x).$$
We claim that $p_n(x)$ is uniquely determined from $p_{n-1}(x)$. Indeed, if $q(x)+q(x+2^{-n})=p_{n-1}(x)$ then
$$\big(q(x)-p_n(x)\big)+\big(q(x+2^{-n})-p_n(x+2^{-n}\big)=0$$
and so $r=q-p_n$ is a nonzero polynomial satisfying $r(x)+r(x+2^{-n})=0$ for all $x$. If $r(x)$ has leading term $ax^d$, then $r(x)+r(x+2^{-n})$ has leading term $2ax^d$, a contradiction. So, $r=0$, and $q=p_n$. This means that every polynomial $p_n$ can be determined from $p_0$.
Now, note that since $f$ is continuous, for all $x\geq 0$,
$$f(x)=\lim_{n\to\infty}f\left(\frac{\lfloor 2^nx\rfloor}{2^n}\right)=f(0)+\lim_{n\to\infty}\sum_{0\leq m\leq 2^nx-1}p_n\left(\frac m{2^n}\right).$$
This means that $f(x)$ for all $x\geq 0$ is uniquely determined from the number $f(0)$ and the sequence $\{p_n\}$, and thus from $p_0$. Since $f(x-1)=f(x)-p_0(x-1)$, this means that $p_0$ defines $f(x)$ for all $x\geq 0$.
So, to show that $f$ is polynomial, all we need to do is find a polynomial function $g$ satisfying $g(0)=f(0)$ and $g(x+1)-g(x)=p_0(x)$. If we write
$$p_0(x)=\sum_{i=0}^d a_i\binom xi,$$
then
$$g(x)=f(0)+\sum_{i=0}^da_i\binom x{i+1}$$
satisfies $g(0)=f(0)$ and
$$g(x+1)-g(x)=\sum_{i=0}^d a_i\left(\binom{x+1}{i+1}-\binom x{i+1}\right)=\sum_{i=0}^d a_i\binom xi=p_0(x),$$
as desired.