二叉树中是否存在某值

  • 循环实现
const binarySearchTree = (node = tree, target = 8) => {
  let curNode =  node
  while(true){
      if(!curNode){
          return false
      }
      if(curNode.value > target){
          curNode = curNode.left
      }else if(curNode.value < target){
          curNode = curNode.right
      }else {
          return true
      }
  }
}
  • 递归实现
const isExistTarget = (tree = binarySearchTree.root, target = 35) => {
  const compare = (node) => {
    if (!node) return false;
    if (node.value > target) {
      return compare(node.left);
    } else if (node.value < target) {
      return compare(node.right);
    } else {
      return true;
    }
  };
  return compare(tree);
};

  

posted @ 2023-01-27 00:25  671_MrSix  阅读(14)  评论(0编辑  收藏  举报