当前位置: 首页 > wzjs >正文

云南网络公司网站织梦模板源码下载

云南网络公司网站,织梦模板源码下载,美化wordpress后台,绵阳城区大建设自己的代码虽然有点石山但是感觉逻辑没啥问题,一些基础例子也过了,就是访问left的left节点时报访问不到null节点,不是是null就返回null呗,有啥访问不到的道理?算了放弃自己想了,学学人家的学会了也算会了 …

自己的代码虽然有点石山但是感觉逻辑没啥问题,一些基础例子也过了,就是访问left的left节点时报访问不到null节点,不是是null就返回null呗,有啥访问不到的道理?算了放弃自己想了,学学人家的学会了也算会了

自己的天才石山代码

/*** Definition for a binary tree node.* public class TreeNode {*     int val;*     TreeNode left;*     TreeNode right;*     TreeNode() {}*     TreeNode(int val) { this.val = val; }*     TreeNode(int val, TreeNode left, TreeNode right) {*         this.val = val;*         this.left = left;*         this.right = right;*     }* }*/
class Solution {public boolean isValidBST(TreeNode root) {return help(root,root.left,root.right);}public boolean help(TreeNode root, TreeNode left,TreeNode right){if(root==null) return true;if(left==null&&right==null) return true;if((left!=null&&left.val>=root.val)||(right!=null&&right.val<=root.val)) return false;if(left.left==null||left.right==null) return  help(right,right.left,right.right);if(right.left==null||right.right==null) return  help(left,left.left,left.right);return help(left,left.left,left.right)&&help(right,right.left,right.right);}
}

 正确代码的思路:由惊人的观察力观察到搜索树的中序遍历就是递增序列,所以只需要中序遍历然后判断是否为递增序列即可,根据这个思路写了ac代码如下

/*** Definition for a binary tree node.* public class TreeNode {*     int val;*     TreeNode left;*     TreeNode right;*     TreeNode() {}*     TreeNode(int val) { this.val = val; }*     TreeNode(int val, TreeNode left, TreeNode right) {*         this.val = val;*         this.left = left;*         this.right = right;*     }* }*/
class Solution {public boolean isValidBST(TreeNode root) {List<Integer> list = new ArrayList<>();help(root,list);for(int i=0,j=1;j<list.size();i++,j++){if(list.get(i)>=list.get(j)) return false;}return true;}public void help(TreeNode root,List<Integer> list){if(root==null) return;help(root.left,list);list.add(root.val);help(root.right,list); }
}

 但是还有优化空间,可以直接在遍历的过程中进行比较不需要先存数组再遍历数组,这个写法有点拟人了,注意力惊人。这里的思路就不是中序遍历而是对每个三节点进行比较再递归,而min和max时刻维护着对应子树的最大与最小,防止出现三节点均成立但爷孙辈出现问题。这也是我的写法没有考虑到的

 //在遍历过程中判断是否递增class Solution {public boolean isValidBST(TreeNode root) {return help(root,Long.MIN_VALUE,Long.MAX_VALUE);}public boolean help(TreeNode root,long min,long max){if(root==null) return true;if(root.val<=min||root.val>=max) return false;return help(root.left,min,root.val)&&help(root.right,root.val,max);}
}

http://www.dtcms.com/wzjs/597199.html

相关文章:

  • 洛阳做网站公司在哪上海网网站建设
  • 如何建设红色旅游网站百度移动版
  • 服务器关闭 网站被k做网站建设怎么找客户
  • 成都微信网站建设多做网站让人来注册
  • 安徽网站关键字优化网站搜索排名
  • 肇庆建站模板源码wordpress充值会员插件
  • 潍坊网站建设咨询wordpress黑白主题
  • 网站建设策划书范文昆明广告设计公司排行
  • fullpage网站网站建站金融模板
  • 网站备案号查不到wordpress模板值钱
  • 怎么做县城分类信息网站建设外汇网站
  • 长春火车站建在哪里企业建站系统cms
  • 青山湖南昌网站建设电子商务网站租用服务器费用
  • 中国亚马逊网站建设crm和erp的区别
  • 提供邵阳网站建设网上帮人做网站
  • 有些人做网站不用钱的,对吗?欧美在线网站设计教程
  • 如何做搞笑的视频视频网站网站建设的趋势
  • 广东网站建设方案临沂网站
  • 厦门 微网站制作免费网站安全
  • 创业网站模板天津网络推广公司
  • wordpress 免费模版西安seo培训
  • 网站怎么制作范例网站怎么做
  • 华为云怎么做网站网站搜索功能
  • 哪家网站设计公司好广告设计公司简介内容
  • 潍坊大型做网站建设的公司制作免费网站
  • 淘宝客的网站是怎么做的山东网优
  • 免费观看行情软件网站下载欧美品牌网站设计
  • 全屏网站模板做一个公司网站要多少钱
  • 婚纱网站开发进度表网站开发图片存哪里
  • 佛山狮山网站建设专业做互联网招聘的网站有哪些