当前位置: 首页> 房产> 政策 > 网站优化软件下载_湖南网站推广营销设计_成都专门做网站的公司_河南it渠道网

网站优化软件下载_湖南网站推广营销设计_成都专门做网站的公司_河南it渠道网

时间:2025/7/11 18:35:19来源:https://blog.csdn.net/Shuzi_master7/article/details/146060131 浏览次数:0次
网站优化软件下载_湖南网站推广营销设计_成都专门做网站的公司_河南it渠道网

/*** 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 {private int ans;public int diameterOfBinaryTree(TreeNode root) {dfs(root);return ans;}private int dfs(TreeNode node){if(node == null)return -1;//如果空的话返回-1 后面+1可以补成0int lLen = dfs(node.left) + 1;//左子树最大链长+1int rLen = dfs(node.right) + 1;//右字数最大链长+1ans = Math.max(ans,lLen + rLen);//两条链拼成路径return Math.max(lLen,rLen);//当前字数的最大链长}
}

 

/*** 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 List<List<Integer>> levelOrder(TreeNode root) {Queue<TreeNode> queue = new LinkedList<>();List<List<Integer>> res = new ArrayList<>();if(root != null)queue.add(root);while(!queue.isEmpty()){List<Integer> temp = new ArrayList<>();for(int i = queue.size();i>0;i--){TreeNode node = queue.poll();//返回并弹出temp.add(node.val);if(node.left != null)queue.add(node.left);if(node.right != null)queue.add(node.right);}res.add(temp);}return res;}
}

 

 

 

 

 

/*** 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 isValidBST(root,Long.MIN_VALUE,Long.MAX_VALUE);}//区间private boolean isValidBST(TreeNode node,long left,long right){if(node == null)return true;long x = node.val;return left<x && x<right &&isValidBST(node.left,left,x)&&isValidBST(node.right,x,right);}
}

 

 

/*** 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 {private long pre = Long.MIN_VALUE;public boolean isValidBST(TreeNode root) {if(root == null)return true;//递归终止的条件if(!isValidBST(root.left) || root.val <= pre)return false;//遍历完左子树看端点值 pre = root.val;//更新端点值return isValidBST(root.right);//去右节点找左子树继续看}
}

 

/*** 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 dfs(root)[1] != Long.MAX_VALUE;}private long[] dfs(TreeNode node) {//大于左边的最大值 小于右边的最小值if (node == null) {return new long[]{Long.MAX_VALUE, Long.MIN_VALUE};}//最大值 最小值long[] left = dfs(node.left);long[] right = dfs(node.right);long x = node.val;// 也可以在递归完左子树之后立刻判断,如果发现不是二叉搜索树,就不用递归右子树了if (x <= left[1] || x >= right[0]) {return new long[]{Long.MIN_VALUE, Long.MAX_VALUE};}//不成立return new long[]{Math.min(left[0], x), Math.max(right[1], x)};}
}

/*** 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 {//二叉搜索树 左<中<右 故中序遍历是递增的int res , k;void dfs(TreeNode root){if(root == null)return ;dfs(root.left);if(k==0)return ;if(--k == 0)res = root.val;dfs(root.right);}public int kthSmallest(TreeNode root, int k) {this.k = k;dfs(root);return res;}
}

 

关键字:网站优化软件下载_湖南网站推广营销设计_成都专门做网站的公司_河南it渠道网

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: