本题来自左神《程序员代码面试指南》“判断二叉树是否为平衡二叉树”题目。题目 平衡二叉树的性质为:要么是一棵空树,要么任何一个节点的左右子树高度差的绝对值不超过 1。 给定一棵二叉树的头节点 head,判断这棵二叉树是否为平衡二叉树。 要求:如果二叉树的节点数为 N,则要求时间复杂度为 O(N)。题解 平衡二叉树的标准是:对任何子树来说,左子树和右子树的高度差都不超过1。本题解法的整体过程为 树形 dp 套路,请读者先阅读...
做项目时,经常会遇到判断null的问题,在之前有Objects.requireNonNull()来解决,java8提供了Optional来解决这个问题,在网上看到一篇讲解Option的博客,阅读后拿来加强自己的记忆。 原博客https://blog.csdn.net/zjhred/article/details/84976734?utm_medium=distribute.pc_relevant_t0.none-task-blog-BlogCommendFromBaidu-1.not_use_machine_learn_pai&depth_1-utm_source=distribute.pc_relevant_t0.none-task-blog-BlogCo...
一、逻辑判断if语句 1、格式一:if if (条件){执行表达式 } 2、格式二:if else if (条件){执行表达式 }else{执行表达式 } 3、格式三:if...else if ... else if (条件){执行表达式 }else if{执行表达式 }else{执行表达式 }public class If {public static void main(String[] args) {int a = 1;int b = 2;// 第一种if (a < b) {System.out.println("a<b");}// 第二种if (a > b) {System.out.println("a>b");} else {System.out.pr...
第一种:通过StringUilts工具包进行判断 org.apache.commons.lang3.StringUtils提供了丰富的字符串解析的工具包,其中isNumeric(String Str)就是提供解析是否为数字类型的方法,具体如何操作,请看下面案例: import org.apache.commons.lang3.StringUtils;/*** @author 歪歪* @version 1.0* @date 2020/12/11 10:24*/ public class NumberDemo {/*** 判断是否为数字可以使用工具类 StringUtils* 通过方法 isNumeric 进行判断是否为...
JAVA怎么判断链表成环: 如果保证两个步距不同的游标同时对链表遍历,那么只要它们相遇了就证明链表有环。 为了方便理解,我们可以先想象成 慢的人速度为1、快的人速度为2。 开始写代码: Node p1 = head;//先都指向头结点 Node p2 = head; int times = 0;//相遇0次 while(p2!=null&&p2.next!=null)//如果快游标到结尾就退出循环 {p1=p1.next;//一次走一步p2=p2.next.next;//一次走两步if(p1==p2){return isCycle;//相遇即证明有环...
标题 java代码实现简单的短信验证码发送,并把验证码放到session中,判断输入的号码是否与刚才发送的一致 controller package com.zl.controller;import com.zl.service.IVerifyCodeService; import com.zl.util.JSONResult; import com.zl.bean.vo.SMSUtil; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation....
在项目开发中,时常会碰到需要判断客户端请求来源是android机还是苹果机,或者是判断浏览器型号等。 那么在后台我们可以通过request对象获取我们想要的这些信息: public void toDownloadApp(HttpServletRequest request, HttpServletResponse response)throws Exception {String agent = request.getHeader("User-Agent");System.out.println(agent); }通过上面的代码就可以看到有关请求的信息。 本次公司项目有个需求就是,用户扫...
直接上代码: /*** 判断某个值是否在某个区间内(区间闭合,包含所在的起始值和结束值)* @param current 特定数值* @param min 区间起始位* @param max 区间结束位* @return true 在;false 不在*/public boolean rangeInDefined(int current, int min, int max){return Math.max(min, current) == Math.min(current, max);}项目中实例应用: if(rangeInDefined(downs,share.getIntervalOneBegin(),share.getIntervalOneEnd())){resul...
我们先来看看用的API方法 这里的话看你传递的参数, 如果传递的是Date,那么可以使用, new Date().getTime()返回的long来判断,简单明了,但是要注意时间的干扰。 如果传递的是LocalDate ,那么可以按照如下方式: 主要是应用了这几个方法 code: /*** <per>* <p>判断日期是否在指定日期区间 ,默认闭区间</p>* <per/>* @param dateStart* @param dateEnd* @param data* @return boolean* @throws* @Description : TODO Dete...
package suxueyuanli; import java.util.Scanner; public class Gcd {public static void main(String[] args) { System.out.println("请输入两个正整数:"); @SuppressWarnings("resource") Scanner scan = new Scanner(System.in); @SuppressWarnings("resource") Scanner scan2=new Scanner(System.in); int X=scan.nextInt(); int Y=scan2.nextInt(); int sum=0; for(int i=1;i<X;i++) { sum=X/i; if(X%i==0...
/*** 判断请求url是否非法* @param url* @return*/public static boolean isValidRequestUri(String url) {if (StringUtils.isNotEmpty(url)) {if (hasSpecialChar(url)) {return true;}try {/**尝试decode两次判断是否有特殊字符*/try {/**URLDecoder: Incomplete trailing escape (%) pattern*/url = url.replaceAll("%(?![0-9a-fA-F]{2})", "%25");url = url.replaceAll("\\+", "%2B");url = URLDecoder.decode(url, "utf-8");}...
1 package com.mytest;2 3 import java.io.FileInputStream;4 import java.io.FileNotFoundException;5 import java.io.IOException;6 import java.util.HashMap;7 import java.util.Iterator;8 import java.util.Map;9 10 public class VerifyFileType {11 12 public final static Map<String, String> FILE_TYPE_MAP = new HashMap<String, String>();13 private static FileInputStream is;14 static {15 ...
/**判断是否超过多少小时 如:24 * * @param tableTime 业务时间 * @param hour 多少小时 * @return boolean * @throws Exception */ public static boolean judgmentDate(String tableTime, Integer hour) throws Exception { String currentTime = DateUtil.getCurrentTime("yyyy-MM-dd HH:mm:ss");//当前时间SimpleDateFormat sdf = new SimpleDateFormat("yyyy-M-d HH:mm:ss");Date start = sdf.parse(tableTime);//业务时间Da...
01 前言 数字是计算机科学的根本,那么java中数字是怎样来表示呢?规则又是怎样呢?今天我们来探讨一下这个话题。数字在某些领域经常用字符串来进行表示和传递。那么我们可以从判断java中一个字符串是否是数字来获取一些有用的信息。 02 空字符和null 首先我们可以很清晰的知道空字符""和null 肯定不是数字。其实我们写其他逻辑一样。把一些最极端最容易辨别处理的逻辑判断直接要优先进行处理。这是一个小的窍门。 03 toCharArray...
随机数 随机生成一个数(1-100),判断大小,如果过大,输出您输入的数过大请重新输入,如果过小,输出您输入的数过小请重新输入,如果正好,输出您猜对了,让我们一起来看一下吧。让我们先看看整体看以下代码import java.util.Scanner;public class caishuzi {public static void main(String[] args){int num=(int)(Math.random()*100);Scanner sr=new Scanner(System.in);System.out.println("请输入一个数字");int a=sr.nextIn...