zoukankan      html  css  js  c++  java
  • 272. Closest Binary Search Tree Value II


        /*
         * 272. Closest Binary Search Tree Value II
         * 2016-7-21 by Mingyang
         * 一次过,dfs和list
         */
          public List<Integer> closestKValues(TreeNode root, double target, int k) {
                List<Integer> list=new ArrayList<Integer>();
                if(root==null)
                  return list;
                Stack<TreeNode> stack=new Stack<TreeNode>();
                TreeNode p=root;
                while(!stack.isEmpty()||p!=null){
                    if(p!=null){
                        stack.push(p);
                        p=p.left;
                    }else{
                        TreeNode q=stack.pop();
                        if(list.size()<k){
                            list.add(q.val);
                        }else{
                            if(Math.abs(list.get(0)-target)>Math.abs(q.val-target)){
                                list.remove(0);
                                list.add(q.val);
                            }else{
                                return list;
                            }
                        }
                        p=q.right;
                    }
                }
                return list;
            }
  • 相关阅读:
    双线性过滤
    textureView
    cubemap
    selfshadow
    cbuffer padding
    异常
    Python深浅拷贝
    数据类型分类
    集合类型内置方法
    字典数据类型内置方法
  • 原文地址:https://www.cnblogs.com/zmyvszk/p/5619023.html
Copyright © 2011-2022 走看看