6 菜鸟日常

尚未进行身份认证

暂无相关简介

等级
TA的排名 15w+

层次遍历二叉树

题目描述从上往下打印出二叉树的每个节点,同层节点从左至右打印。https://www.nowcoder.com/practice/7fe2212963db4790b57431d9ed259701解题想法队列实现,保存左节点、右节点,然后按照先进先出的顺序打印代码实现import java.util.ArrayList;import java.util.LinkedList;impo...

2020-01-14 19:31:44

二叉树中和为某一值的路径

题目描述输入一颗二叉树的跟节点和一个整数,打印出二叉树中结点值的和为输入整数的所有路径。路径定义为从树的根结点开始往下一直到叶结点所经过的结点形成一条路径。(注意: 在返回值的list中,数组长度大的数组靠前)https://www.nowcoder.com/practice/b736e784e3e34731af99065031301bca解题想法深度优先搜索、递归回溯:先序遍历每一条路径...

2020-01-14 19:31:35

复杂链表的复制

题目描述输入一个复杂链表(每个节点中有节点值,以及两个指针,一个指向下一个节点,另一个特殊指针指向任意一个节点),返回结果为复制后复杂链表的head。(注意,输出结果中请不要返回参数中的节点引用,否则判题程序会直接返回空)https://www.nowcoder.com/practice/f836b2c43afc4b35ad6adc41ec941dba解题想法比较有技巧,放一张图就知道怎么...

2020-01-14 19:31:09

二叉搜索树的后序遍历序列

题目描述输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果。如果是则输出Yes,否则输出No。假设输入的数组的任意两个数字都互不相同。https://www.nowcoder.com/practice/a861533d45854474ac791d90e447bafd解题想法分治递归思想:序列最后一个元素是根节点,而二叉搜索树的根节点左边的序列值比根小,右边的比根大。根据这个特...

2020-01-14 19:29:24

栈的压入弹出序列

题目描述输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否可能为该栈的弹出顺序。假设压入栈的所有数字均不相等。例如序列1,2,3,4,5 是某栈的压入顺序,序列4,5,3,2,1是该压栈序列对应的一个弹出序列,但4,3,5,1,2就不可能是该压栈序列的弹出序列。(注意:这两个序列的长度是相等的)https://www.nowcoder.com/practice/d77d114...

2020-01-14 19:27:54

包含min函数的栈

题目描述定义栈的数据结构,请在该类型中实现一个能够得到栈中所含最小元素的min函数(时间复杂度应为O(1))。https://www.nowcoder.com/practice/4c776177d2c04c2494f2555c9fcc1e49解题想法思路一:使用两个栈,栈 A 保存元素,栈 B 保存此时栈 A 的最小值。每添加一个元素时,判断添加的元素值与栈 B 顶部元素做比较,然后把最...

2020-01-14 19:27:26

二叉树镜像

题目描述操作给定的二叉树,将其变换为源二叉树的镜像。https://www.nowcoder.com/practice/564f4c26aa584921bc75623e48ca3011解题想法递归思路:交换其左右子树,然后递归调用,交换子树。非递归思路:涉及到反转,就应该想到栈,使用栈进行反转交换代码实现递归版本/**public class TreeNode { i...

2020-01-14 19:26:46

树的子结构

题目描述输入两棵二叉树A,B,判断 B 是不是 A 的子结构。(ps:我们约定空树不是任意一个树的子结构)https://www.nowcoder.com/practice/6e196c44c7004d15b1610b9afca8bd88解题想法找到相同的根节点,遍历左右子树,相同返回 true遍历大树,找到两个相同值的根节点对相同的节点子树进行遍历,若有不同的返回 false...

2020-01-14 19:26:13

代理模式 Java 实现

介绍什么是代理模式静态代理JDK 自带的动态代理CGLIB 动态代理代理模式意图:为其他对象提供一种代理,以控制对这个对象的访问。例子:买火车票不一定要在火车站,去网上各个代理商那里也可以代码思路:实体类 A 实现了接口 IA,而实体类 A 很复杂,那么使用实体类 B 去实现接口 IA,通过实体类 B 调用实体类 A 去满足功能。注意事项:1、和适配器模式的区别:适配器模式...

2019-12-31 17:13:06

Java 异常类型学习

异常类型Throwable 类是 Error 和 Exception 的父类,只有是 Throwable 的实例才能被 JVM 或者 Java 语句抛出,捕获。Error:表示不希望被程序捕获或者是程序无法处理的错误,Error 类对象由 Java 虚拟机生成并抛出,大多数错误与代码编写者所执行的操作无关。Checked Exception:受检查异常,需要被 try catch ...

2019-12-31 16:54:47

Java中的值传递

几个重要概念实参、形参形式参数:定义函数名和函数体时候使用的参数,目的用来接收调用该函数时传入的参数实际参数:在调用有参函数时,主调函数与被调函数之间有数据传递关系。实际参数是调用有参方法的时候真正传递的内容。public void tes(String name){ // 形式参数 name System.out.println(name);}public sta...

2019-12-31 15:41:09

Java 单例模式全面学习

介绍什么是单例模式:保证一个类仅有一个实例,并提供一个访问它的全局访问点解决什么问题:省略创建对象所花费的时间,不需要频繁创建对象,减轻 GC 压力。单例模式有以下几种实现方式:线程安全并发性能好可以延迟加载序列化/反序列化安全能抵御反射攻击饿汉式YY懒汉式-不加锁YY懒汉式-加锁YY双重检查 Double CheckY...

2019-12-31 11:32:09

Redis 简单介绍与 Jedis 常用操作

介绍Redis 是一个开源(BSD许可)的,内存中的数据结构存储系统,它可以用作数据库、缓存和消息中间件。主要对 Redis 中文网 文档内容进行总结,并使用 Jedis 实现一些基本操作。使用 Jedis 实现 Redis 基本操作Jedis 是一个小而精的 Redis 客户端,用 Java 实现strings 操作String result = jedis.set("nam...

2019-02-17 13:46:22

一个简单的dubbo样例

dubbo 介绍dubbo 是一款由阿里巴巴开源现已进入 Apache 开源孵化器的 RPC(Remote Procedure Call)框架。特点:高性能:服务的远程调用以接口为粒度,调用者只需关注接口的功能,屏蔽了底层的接口实现轻量级:采用 Spring 配置方式,没有任何 API 的侵入架构:包括暴露服务的服务提供方(Provider),调用远程服务的服务消费方(Consum...

2018-12-23 20:14:28

bootstrap-table 应用遇到的坑

文章目录介绍代码介绍注意点总结介绍最近写了一个 请求什么,返回什么 的工具,前端用到了 bootstrap-table 这个组件,顺便把相应的参数含义做一个总结。代码介绍省略... <table id="table"> <thead> <tr> <th data-field="id">id</t

2018-12-16 21:09:45

canal学习二:canal消息推送到kafka

本文主要记录如何配置使得 canal 消息推送到 kafka 并被消费的过程。

2018-11-21 23:02:55

Windows 下本地运行 Kafka

文章目录介绍环境安装运行调试本地运行遇到的问题介绍本地运行 kafka,运行生产消费实例。Kafka 是一个分布式发布-订阅消息系统。Zookeeper 是一个高性能分布式应用协调服务。他们之间的关系 参考环境安装1. 安装 Zookeeper参考配置地址注意 环境变量 配置,配置文件重命名启动方式:Windows 平台直接点击 zkServer.cmd,Linux 平台 ./...

2018-11-21 22:41:43

canal 学习一:本地运行canal

文章目录1. 介绍2. 基本环境配置3. canal 本地运行4. 配置文件解读5. 本地运行遇到的问题1. 介绍a. canal 是什么?MySQL 数据库 Binlog 的增量订阅 & 消费组件。简单来说,它可以监测 MySQL 的数据变化情况。b. 用途数据同步、主从复制、数据库镜像等业务场景。主要内容: 本地运行 canal,对数据库进行数据变更,查看 cana...

2018-11-21 22:33:03

SpringJDBC 用法总结

大部分网上的 Spring 教程大多讲解的是 SSM 框架,其中的 M 现在指的是 MyBatis 这个第三方 ORM 框架,在我看来,MyBatis 有它的优越性,如 SQL 语句与业务代码分离,业务逻辑处理很灵活等。但是在小型业务系统开发时,由于 SSM 框架定义过于规范,开发具体功能时,会写很多接口,而真正的业务逻辑得不到较优的处理,呆板的框架应用反而适得其反。本文主要介绍 Spring...

2018-09-08 11:03:44

几种常见的加密算法及 Java 实现

介绍本文主要对加密算法做个概况性的介绍,然后给出几种简单的加密算法 Java 实现。1. 算法种类单向加密对称加密非对称加密1.1 单向加密即加密之后不能解密,一般用于数据验证1) Base64Base64 编码是从二进制到字符的过程,用 64 个字符来表示任意的二进制数据,常用于在 HTTP 加密,图片编码传输等。可打印字符:在ASCII码中规...

2018-08-22 19:40:54

查看更多

勋章 我的勋章
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv3
    勤写标兵Lv3
    授予每个自然周发布7篇到8篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。