/** * 700. Search in a Binary Search Tree * https://leetcode.com/problems/search-in-a-binary-search-tree/description/ * */ class TreeNode(var `val`: Int) { var left: TreeNode? = null var right: TreeNode? = null } class Solution { fun searchBST(root_: TreeNode?, targe: Int): TreeNode? { if (root_ == null) { return null } var root = root_ val stack = Stack<TreeNode>() //use inorder: root,left,right while (stack.isNotEmpty() || root != null) { if (root != null) { stack.add(root) root = root.left } else { root = stack.pop() if (root.`val`==targe){ return root } root = root.right } } return null } }