面试时能多用ternary operator(? :)吗# JobHunting - 待字闺中
n*7
1 楼
rt,还是说用ternary operator会降低可读性,所以尽量少用,换成if else语句。举
个例子,Check a binary tree is a binary search tree.
public boolean isBST(Node root){
return isBST(root,Integer.MIN_VALUE,Integer.MAX_VALUE);
}
public boolean isBST(Node root, int min, int max){
return (root==null)?true:((root.getValue()>=min)&&(root.getValue()<
max)&&isBST(root.left(),min,root.getValue())
&&isBST(root.right(),root.getValue(),max));
}
还是写成
public boolean isBST(Node root, int min, int max){
if(root == null){
return true;
}else{
int value = root.getValue();
boolean flag = false;
if((value>=min)&&(value return (flag&&isBST(root.left(),min,value)&&isBST(root.right(),
value,max));
}
}
个例子,Check a binary tree is a binary search tree.
public boolean isBST(Node root){
return isBST(root,Integer.MIN_VALUE,Integer.MAX_VALUE);
}
public boolean isBST(Node root, int min, int max){
return (root==null)?true:((root.getValue()>=min)&&(root.getValue()<
max)&&isBST(root.left(),min,root.getValue())
&&isBST(root.right(),root.getValue(),max));
}
还是写成
public boolean isBST(Node root, int min, int max){
if(root == null){
return true;
}else{
int value = root.getValue();
boolean flag = false;
if((value>=min)&&(value
value,max));
}
}