leetCode练习(98)
来源:互联网 发布:苹果手机数据找回 编辑:程序博客网 时间:2024/06/05 18:25
题目:Validate Binary Search Tree
难度:medium
问题描述:
Given a binary tree, determine if it is a valid binary search tree (BST).
Assume a BST is defined as follows:
- The left subtree of a node contains only nodes with keys less than the node's key.
- The right subtree of a node contains only nodes with keys greater than the node's key.
- Both the left and right subtrees must also be binary search trees.
Example 1:
2 / \ 1 3Binary tree
[2,1,3]
, return true.Example 2:
1 / \ 2 3Binary tree
[1,2,3]
, return false.解题思路:检验一棵树是不是二叉搜索树。中序遍历整棵树,检验输出元素是不是有序的即可。
具体代码如下:
/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode(int x) { val = x; } * } */public class Solution { public boolean isValidBST(TreeNode root) { if(root==null||root.left==null&&root.right==null){return true;}ArrayList<Integer> list=new ArrayList<Integer>();zhongxubianli(root,list);int temp=0,w=0;Iterator<Integer> iter=list.iterator();if(iter.hasNext()){temp=iter.next();}while(iter.hasNext()){w=iter.next();if(w<=temp){return false;}temp=w;}return true; } public void zhongxubianli(TreeNode root,ArrayList<Integer> list){if(root.left!=null){zhongxubianli(root.left,list);}list.add(root.val);if(root.right!=null){zhongxubianli(root.right,list);}}}
0 0
- leetCode练习(98)
- leetCode练习(7)
- leetCode练习(9)
- leetCode练习(2)
- leetCode练习(14)
- leetCode练习(3)
- leetCode练习(4)
- leetCode练习(19)
- leetCode练习(18)
- leetCode练习(5)
- leetCode练习(15)
- leetCode练习(20)
- leetCode练习(21)
- leetCode练习(16)
- leetCode练习(17)
- leetCode练习(11)
- leetCode练习(24)
- leetCode练习(22)
- 使用 Google Fonts 为网页添加美观字体
- iwebshop全选、反选、批删、即点即改
- PTA:两个有序链表的合并解题报告
- 从一串字符串中找到第一个不重复的字母
- 前端构建工具
- leetCode练习(98)
- Problem 11 Largest product in a grid (暴力)
- XListView多条目加载adpter
- 任务委派
- java 常用缓存描述
- C++ 中将二维数组传入函数
- Leetcode371.Sum of Two Integers
- 97. Interleaving String ,leetcode
- 简析API属性——API 23 view.View