欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 新闻 > 焦点 > DAY17-二叉树

DAY17-二叉树

2025/9/22 19:05:54 来源:https://blog.csdn.net/m0_61702109/article/details/140583213  浏览:    关键词:DAY17-二叉树

LeetCode654.最大二叉树

    public TreeNode constructMaximumBinaryTree(int[] nums) {return maxTree(nums,0,nums.length);}public TreeNode maxTree(int[]nums,int start,int end) {//递归结束if(start==end) {return null;}//如果只有一个值的话,直接构建节点if(end-start==1) {return new TreeNode(nums[start]);}//如果数组里有多个值则需要找到最大值并进行切割int max=nums[start],index=start;for(int i=start;i<end;i++) {if(nums[i]>max) {max=nums[i];index=i;}}//创建根节点TreeNode root = new TreeNode(max);//进入左右节点递归root.left=maxTree(nums,start,index);root.right=maxTree(nums,index+1,end);//返回根节点return root;}

LeetCode617.合并二叉树

    public TreeNode mergeTrees(TreeNode root1, TreeNode root2) {//递归结束条件if(root1==null) return root2;if(root2==null) return root1;//创建根节点进行左右递归TreeNode root = new TreeNode(root1.val+root2.val);root.left=mergeTrees(root1.left,root2.left);root.right=mergeTrees(root1.right,root2.right);return root;}

LeetCode700.二叉搜索树中的搜索

    public TreeNode searchBST(TreeNode root, int val) {if(root==null) return null;while(root!=null) {if(root.val==val) return root;else if(root.val>val) {root=root.left;}else if(root.val<val) {root=root.right;}}return null;}

LeetCode98.验证二叉搜索树

	public List<Integer> list = new ArrayList<>();public boolean isValidBST(TreeNode root) {if(root==null) return true;boolean left = isValidBST(root.left);list.add(root.val);if(list.size()>1) {if(list.get(list.size()-2)>=root.val) {return false;}}boolean right = isValidBST(root.right);return left && right;}

版权声明:

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

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

热搜词