LeetCode 700 Search in a Binary Search Tree
給定一顆二叉搜尋樹
的根節點,和一個要插入的值,將值插入進去,並返回根節點
二叉搜尋樹
例:
給予一棵樹: 4 / \ 27 / \ 13
對於搜尋值: 2, 你應該返回以下子樹:
2 / \ 13
解法
因為是二叉搜尋樹, 所以根據二叉搜尋樹的規則遍歷即可.
/** * Definition for a binary tree node. * public class TreeNode { *int val; *TreeNode left; *TreeNode right; *TreeNode(int x) { val = x; } * } */ class Solution { public TreeNode searchBST(TreeNode root, int val) { while (root != null) { if (root.val < val) { root = root.right; } else if (root.val > val) { root = root.left; } else { return root; } } return root; } }
Runtime: 0 ms, faster than 100.00% of Java online submissions for Search in a Binary Search Tree. Memory Usage: 40.4 MB, less than 17.60% of Java online submissions for Search in a Binary Search Tree.