<p>You are given the <code>root</code> of a binary search tree (BST) and an integer <code>val</code>.</p> <p>Find the node in the BST that the node's value equals <code>val</code> and return the subtree rooted with that node. If such a node does not exist, return <code>null</code>.</p> <p> </p> <p><strong>Example 1:</strong></p> <img alt="" src="https://assets.leetcode.com/uploads/2021/01/12/tree1.jpg" style="width: 422px; height: 302px;" /> <pre> <strong>Input:</strong> root = [4,2,7,1,3], val = 2 <strong>Output:</strong> [2,1,3] </pre> <p><strong>Example 2:</strong></p> <img alt="" src="https://assets.leetcode.com/uploads/2021/01/12/tree2.jpg" style="width: 422px; height: 302px;" /> <pre> <strong>Input:</strong> root = [4,2,7,1,3], val = 5 <strong>Output:</strong> [] </pre> <p> </p> <p><strong>Constraints:</strong></p> <ul> <li>The number of nodes in the tree is in the range <code>[1, 5000]</code>.</li> <li><code>1 <= Node.val <= 10<sup>7</sup></code></li> <li><code>root</code> is a binary search tree.</li> <li><code>1 <= val <= 10<sup>7</sup></code></li> </ul>