Integral over null set is zero but integral of Dirac delta function is 1 We know integral of any function over a null set is zero.
But for Dirac delta function ($\delta=+\infty$ iff $x=0$ otherwise $\delta=0$)
$$
\int_{-\infty}^{+\infty}\delta =\int_0^0\delta =1.
$$
Is it a contradiction?

You can regard it as a measure, the Dirac measure, which gives mass $1$ to $\{0\}$ , and zero mass to other subsets of $\mathbb R$ which do not contain zero(let's say Borel sets). For a Borel set $A\subset \mathbb R$ define: 
$$\mu (A)=\begin{cases}1,&0\in A\\0,&0\notin A\end{cases}$$
Therefore: $$\int _{-\infty }^\infty d\mu=\int_{\{0\}}1\cdot d\mu+\int_{\mathbb R\setminus\{0\}}d\mu=\mu(\{0\})+\mu(\mathbb R\setminus\{0\})=1+0=1$$
