- 博客(16)
- 资源 (6)
- 收藏
- 关注
原创 将ArrayList中的元素转成int[] 数组
转成数组的时候,需要将元素类型声明为包装类,否则会报错 ArrayList<Integer> intList = new ArrayList<Integer>();//泛型为Integer intList.add(123); intList.add(234); intList.add(345); Integer[] b = new Integer[intList.size(...
2019-04-30 13:06:21 2946
原创 全排列算法递归实现
public static ArrayList<ArrayList> permute(int[] num) { ArrayList<ArrayList> list = new ArrayList<>(); ArrayList temp = new ArrayList<>(); boolean bool[] = new boolean[num.leng...
2019-04-28 14:46:52 285
原创 统记完全二叉树的个数
过程如下: 如果head==null,直接返回0 如果不是空树,就求树的高度,求法是找到树的最左边节点,看能到哪一层。层数记为h 接下来就是具体的逻辑,是通过一个递归函数来实现的,bs(node,l,h),node表示当前节点,l表示node所在的层数,h表示整棵树的层数,是始终不变的。bs(node,l,h)返回值表示以node为头的完全二叉树的节点数,初始时node为头节点head,l为1,...
2019-04-25 16:39:25 243
原创 判断一棵二叉树是否是搜索二叉树和完全二叉树
搜索二叉树是左子树都比当前节点小,右子树都比当前节点大。所以进行判断的时候,我们可以通过中序遍历进行判断,在每次遍历的时候将当前节点和其前驱节点进行比较,如果比它大就说明不是搜索二叉树,递归即可停止。 代码如下: 首先是树节点的定义: public static class Node { public int value; public Node left; public Node r...
2019-04-25 15:38:21 577
原创 二叉树的序列化和反序列化(先序遍历和层次遍历)
序列化是指将数据存储到文件中。 先序遍历序列化 public static String serialByPre(Node head) { if (head == null) { return "#!"; } String res = head.value + "!"; res += serialByPre(head.left); res += serialByPre(h...
2019-04-25 10:47:29 2765
原创 在二叉树中找一个节点的后继节点和前驱节点
首先是后继节点和前驱节点的定义:在二 叉树的中序遍历的序列中, node的下一个节点叫作node的后继节点。 现在有一种新的二叉树节点类型如下: public static class Node { public int value; public Node left; public Node right; public Node parent; public Node(in...
2019-04-25 08:31:43 721
原创 JAVA传递参数值传递和引用传递
最近在刷剑指offer上面的算法题的时候,遇到一道将二叉排序树转换为双向链表的时候,遇到一个问题,就是递归调用函数的时候,我发现指向树节点的指针在返回到上一层函数的时候,会变为空,代码如下: public TreeNode Convert(TreeNode pRootOfTree) { TreeNode head=new TreeNode(); //用来标识链表的最后一个节点...
2019-04-24 19:30:03 172
原创 剑指Offer二叉树和为某一值的路径
输入一颗二叉树的跟节点和一个整数,打印出二叉树中结点值的和为输入整数的所有路径。路径定义为从树的根结点开始往下一直到叶结点所经过的结点形成一条路径。(注意: 在返回值的list中,数组长度大的数组靠前) /** 这道题的思路是通过递归的先序遍历,保存每一次遍历的数据,然后当到达叶子节点的时候, 对它的和进行判断,如果符合的话,那就把保存下来,然后接着返回父节点,并把当前节点从 路径中删除 */ i...
2019-04-23 10:12:53 113
原创 图的广度优先搜索和深度优先搜索的代码
public class Graph { private static int numOfVexs;// 顶点的实际数量 private static int maxNumOfVexs;// 顶点的最大数量 private VNode[] vNodes; public int getNumOfVexs() { return numOfVexs; } public void se...
2019-04-16 21:46:10 645
原创 Mybatis笔记之映射器
1 select 1.1 使用select进行查询 传递参数: 这里实现的是进行模糊查询: 1.1.1 传递map参数 这是mapper文件中的查询语句 <select id="findRoleByMap" parameterType="map" resultType="role"> select id,role_name as roleName,note from t_role ...
2019-04-13 09:28:30 174
原创 二叉搜索树(BST)笔记
二叉查找树(Binary Search Tree): 它或者是一棵空树,或者是具有下列性质的二叉树: 若它的左子树不空,则左子树上所有结点的值均小于它的根结点的值; 若它的右子树不空,则右子树上所有结点的值均大于它的根结点的值; 它的左、右子树也分别为二叉排序树。 树的节点的定义: public class TreeNode { int val; TreeNode left; TreeNod...
2019-04-08 11:37:37 196
原创 Log4j笔记
Log4j是日志处理框架,因为要用到这个,所以总结一下: 1. Log4j的类图 Logger - 日志写出器,供程序员输出日志信息 Appender - 日志目的地,把格式化好的日志信息输出到指定的地方去 ConsoleAppender - 目的地为控制台的Appender FileAppender - 目的地为文件的 Appender RollingFileAppender - 目的地为大...
2019-04-06 13:24:50 149
原创 Leetcode 第17题 Letter Combinations of a Phone Number
题目; Given a string containing digits from 2-9 inclusive, return all possible letter combinations that the number could represent. A mapping of digit to letters (just like on the telephone buttons) is ...
2019-04-03 14:22:46 151
原创 归并排序笔记
思想: 将两个的有序数列合并成一个有序数列,我们称之为"归并"。归并排序:如果要将一个数组排序,可以先(递归地)将它们分成两半进行排序,然后将结果归并起来。 下面介绍另外两种方法,分别是自顶向下归并和自底向上归并,图示参考连接:https://www.cnblogs.com/chengxiao/p/6194356.html 但是我感觉里面的那个自下而上的算法感觉有点复杂,所以我总结了算法第四版上的...
2019-04-03 14:14:01 177
javadecompiler.7z
2020-04-23
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人