
算法与数据结构
li_long547920
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
判断镜像树
请实现一个函数,用来判断一颗二叉树是不是对称的。注意,如果一个二叉树同此二叉树的镜像是同样的,定义其为对称的。【java代码】满屏递归,无法挖掘这一题的价值。接下来提供递归的一个方法和非递归的2个方法参考。//=递归算法===========//1.只要pRoot.left和pRoot.right是否对称即可2.左右节点的值相等且对称子树left.left, right.right ;lef...原创 2020-03-25 15:09:38 · 573 阅读 · 0 评论 -
数组中的逆序对
题目描述在数组中的两个数字,如果前面一个数字大于后面的数字,则这两个数字组成一个逆序对。输入一个数组,求出这个数组中的逆序对的总数P。并将P对1000000007取模的结果输出。 即输出P%1000000007输入描述:题目保证输入的数组中没有的相同的数字数据范围:对于%50的数据,size<=10^4对于%75的数据,size<=10^5对于%100的数据,size...原创 2020-03-19 17:30:33 · 128 阅读 · 0 评论 -
判断是否是平衡二叉树
题目描述输入一棵二叉树,判断该二叉树是否是平衡二叉树。平衡二叉树(Balanced Binary Tree)具有以下性质:它是一棵空树或它的左右两个子树的高度差的绝对值不超过1,并且左右两个子树都是一棵平衡二叉树。平衡二叉树的常用实现方法有红黑树、AVL、替罪羊树、Treap、伸展树等。 最小二叉平衡树的节点的公式如下 F(n)=F(n-1)+F(n-2)+1 这个类似于一个递归的数列,可以参...原创 2020-03-19 16:24:16 · 182 阅读 · 0 评论 -
求二叉树的深度
题目描述输入一棵二叉树,求该树的深度。从根结点到叶结点依次经过的结点(含根、叶结点)形成树的一条路径,最长路径的长度为树的深度。/**public class TreeNode { int val = 0; TreeNode left = null; TreeNode right = null; public TreeNode(int val) { ...原创 2020-03-19 16:07:31 · 150 阅读 · 0 评论 -
统计一个数字在排序数组中出现的次数
public class Solution { public int GetNumberOfK(int [] array , int k) { int count=0; for(int i=0;i<array.length;i++){ int j=array[i]; do{ if(...原创 2020-03-19 15:58:01 · 220 阅读 · 0 评论 -
第一个只出现一次的字符(Java版)
第一个只出现一次的字符(Java版)在一个字符串(0<=字符串长度<=10000,全部由字母组成)中找到第一个只出现一次的字符,并返回它的位置, 如果没有则返回 -1(需要区分大小写).解法一public class Solution { public int FirstNotRepeatingChar(String str) { if(str.lengt...原创 2020-03-19 13:37:48 · 149 阅读 · 0 评论 -
求两个链表第一个公共结点
题目描述输入两个链表,找出它们的第一个公共结点。(注意因为传入数据是链表,所以错误测试数据的提示是用其他方式显示的,保证传入数据是正确的)思路: 如果存在共同节点的话,那么从该节点,两个链表之后的元素都是相同的。也就是说两个链表从尾部往前到某个点,节点都是一样的。我们可以用两个栈分别来装这两条链表。一个一个比较出来的值。找到第一个相同的节点。import java.util.Stack...原创 2020-03-19 15:43:46 · 130 阅读 · 0 评论