I) We consider the 1D time independent Schrödinger equation (TISE)
$$ -\psi^{\prime\prime}_n(x) +V(x)\psi_n(x) ~=~ E_n\psi_n(x) \tag{1}$$
on the real line $\mathbb{R}$.
II) From a physics$^{\dagger}$ perspective, the most important conditions are:
That there exists a ground state $\psi_1$.
That we only consider eigenvalues
$$ E_n ~<~\liminf_{x\to \pm\infty}~ V(x). \tag{2}$$
Eq. (2) implies the boundary conditions (BCs)
$$ \lim _{x\to \pm\infty} \psi_n(x)~=~0 .\tag{3}$$
We can then consider $x=\pm\infty$ as 2 boundary nodes.
Remark: We may argue that the wavefunction $\psi_n$ is differentiable, cf. e.g. my Phys.SE answer here. We will assume that from now on.
Remark: Using complex conjugation on TISE (1), we can without loss of generality assume that $\psi_n$ is real and normalized, cf. e.g. this Phys.SE post. We will assume that from now on.
Lemma 1: The eigenvalues $E_n$ are non-degenerate.
Sketched proof of Lemma 1: The Wronskian of 2 eigenfunctions is a constant. By BCs the constant is zero. Then the 2 eigenfunctions are proportional, cf. e.g. this Phys.SE post. $\Box$
Remark: It follows from a Wronskian argument applied to two eigenfunctions, that the eigenvalues $E_n$ are non-degenerate.
Remark: A double (or higher) node $x_0$ cannot occur, because it must obey $\psi_n(x_0)=0=\psi^{\prime}_n(x_0)$. The uniqueness of a 2nd order ODE then implies that $\psi_n\equiv 0$. Contradiction.
III) Define
$$ \nu(n)~:=~|\{\text{interior nodes of }\psi_n\}|,\tag{4}$$
$$ M_+(n)~:=~|\{\text{local max points $x_0$ for $|\psi_n|$ with }\psi_n(x_0)>0\}|,\tag{5}$$
$$ M_-(n)~:=~|\{\text{local max points $x_0$ for $|\psi_n|$ with }\psi_n(x_0)<0\}|,\tag{6}$$
$$ m_+(n)~:=~|\{\text{local min points $x_0$ for $|\psi_n|$ with }\psi_n(x_0)>0\}|,\tag{7}$$
$$ m_-(n)~:=~|\{\text{local min points $x_0$ for $|\psi_n|$ with }\psi_n(x_0)<0\}|,\tag{8}$$
$$ M(n)~:=~|\{\text{local max points for }|\psi_n|\}|~=~M_+(n)+M_-(n), \tag{9}$$
$$ m(n)~:=~|\{\text{local min points $x_0$ for $|\psi_n|$ with }\psi_n(x_0)\neq 0\}|~=~m_+(n)+m_-(n), \tag{10}$$
$$\Delta M_{\pm}(n)~:=~M_{\pm}(n)-m_{\pm}(n)~\geq~0.\tag{11} $$
Observation. Local max (min) points for $|\psi_n|\neq 0$ can only occur in classical allowed (forbidden) intervals, i.e. oscillatory (exponential) intervals, respectively.
Note that the roles of $\pm$ flip if we change the overall sign of the real wave function $\psi_n$.
Proposition.
$$ \begin{align}\Delta M_+(n)+\Delta M_-(n)~=~&\nu(n)+1, \cr
|\Delta M_+(n)-\Delta M_-(n)|~=~&2~{\rm frac}\left(\frac{\nu(n)+1}{2}\right).\end{align}\tag{12} $$
Sketched proof: Use Morse-like considerations. $\Box$
IV) Finally let us focus on the nodes.
Lemma 2. If $E_n<E_m$, then for every pair of 2 consecutive (possibly boundary) nodes $a$ and $b$ for the eigenfunction $\psi_n$, the eigenfunction $\psi_m$ has at least one node $c$ strictly in-between.
Sketched proof of Lemma 2: Assume that the eigenfunction $\psi_n>0$ is positive in the open interval $]a,b[$. (The negative case is similar, and left to the reader.) Use a Wronskian argument applied to $\psi_n$ and $\psi_m$, cf. Refs. 1-2:
$$\begin{align} \underbrace{\psi^{\prime}_n(a)}_{>0}\psi_m(a)-\underbrace{\psi^{\prime}_n(b)}_{<0}\psi_m(b)
~=~&\left[-\psi^{\prime}_n(x)\psi_m(x)\right]_{x=a}^{x=b}\cr
~=~&\left[W(\psi_n,\psi_m)\right]_{x=a}^{x=b}\cr
~=~&\int_a^b\!dx\frac{d}{dx}W(\psi_n,\psi_m)\cr
~\stackrel{(1)}{=}~&\underbrace{(E_n-E_m)}_{<0}\int_a^b\!dx\underbrace{\psi_n(x)}_{> 0\text{ in bulk}}\psi_m(x).\end{align}\tag{13}$$
Eq. (13) cannot hold if $\psi_m$ does not change sign in the open interval $]a,b[$. $\Box$
Node theorem. With the above assumptions from Section II, the $n$'th eigenfunction $\psi_n$ has
$$\nu(n)~=~n\!-\!1.\tag{14}$$
Sketched proof of the node theorem:
$\nu(n) \geq n\!-\!1$: Use Lemma 2. $\Box$
$\nu(n) \leq n\!-\!1$: Truncate eigenfunction $\psi_n$ such that it is only supported between 2 consecutive nodes. If there are too many nodes there will be too many independent eigenfunctions in a min-max variational argument, leading to a contradiction, cf. Ref. 1. $\Box$
Remark: Refs. 2-3 feature an intuitive heuristic argument for the node theorem: Imagine that $V(x)=V_{t=1}(x)$ belongs to a continuous 1-parameter family of potential $V_{t}(x)$, $t\in[0,1]$, such that $V_{t=0}(x)$ satisfies property (4). Take e.g. $V_{t=0}(x)$ to be the harmonic oscillator potential or the infinite well potential. Now, if an extra node develops at some $(t_0,x_0)$, it must be a double/higher node. Contradiction.
References:
R. Hilbert & D. Courant, Methods of Math. Phys, Vol. 1; Section VI.
M. Moriconi, Am. J. Phys. 75 (2007) 284, arXiv:quant-ph/0702260.
B. Zwiebach, Node Theorem, MIT OCW (2016).
$^{\dagger}$ For a more rigorous mathematical treatment, consider asking on MO.SE or Math.SE.