<p>Write an algorithm to find the "next" node (i.e., in-order successor) of a given node in a binary search tree.</p> <p>Return <code>null</code> if there's no "next" node for the given node.</p> <p><strong>Example 1:</strong></p> <pre> <strong>Input:</strong> root = <code>[2,1,3], p = 1 2 / \ 1 3 </code> <strong>Output:</strong> 2</pre> <p><strong>Example 2:</strong></p> <pre> <strong>Input:</strong> root = <code>[5,3,6,2,4,null,null,1], p = 6 5 / \ 3 6 / \ 2 4 / 1 </code> <strong>Output:</strong> null</pre>