#数据结构与算法

算法练习之二叉树的最小深度,路径总和

1.二叉树的最小深度给定一个二叉树,找出其最小深度。最小深度是从根节点到最近叶子节点的最短路径上的节点数量。说明: 叶子节点是指没有子节点的节点。示例:给定二叉树[3,9,20,null,null,15,7],3/920/157返回它的最小深度2.java/***Definitionforabinarytre...

算法练习之将有序数组转换为二叉搜索树,平衡二叉树

1.将有序数组转换为二叉搜索树将一个按照升序排列的有序数组,转换为一棵高度平衡二叉搜索树。题中,高度平衡二叉树是指一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过1。示例:给定有序数组:[-10,-3,0,5,9],一个可能的答案是:[0,-3,9,-10,null,5],它可以表示下面这个高度平衡二...

算法练习之二叉树的最大深度,二叉树的层次遍历 II

1.二叉树的最大深度给定一个二叉树,找出其最大深度。二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。说明: 叶子节点是指没有子节点的节点。示例:给定二叉树 [3,9,20,null,null,15,7],3/920/157返回它的最大深度 3。java/***Definitionf...

算法练习之相同的树,对称二叉树

1.相同的树给定两个二叉树,编写一个函数来检验它们是否相同。如果两个树在结构上相同,并且节点具有相同的值,则认为它们是相同的。示例1:输入:11//2323[1,2,3],[1,2,3]输出:true示例2:输入:11/22[1,2],[1,null,2]输出:false示例3:输入:11//2112[1,2,1],[...

算法练习之x的平方根,爬楼梯,删除排序链表中的重复元素, 合并两个有序数组

1.x的平方根java(1)直接使用函数classSolution{publicintmySqrt(intx){intrs=0;rs=(int)Math.sqrt(x);returnrs;}}(2)二分法对于一个非负数n,它的平方根不会小于大于(n/2+1)。在[0,n/2+1]这个范围内可以进行二分搜索,求出n的平方...

算法练习之报数, 最大子序和,最后一个单词的长度,加一,二进制求和

 1.报数报数序列是一个整数序列,按照其中的整数的顺序进行报数,得到下一个数。其前五项如下:1.12.113.214.12115.1112211 被读作  "one1"  ("一个一"),即 11。11 被读作 "two1s"&n...

算法练习之合并两个有序链表, 删除排序数组中的重复项,移除元素,实现strStr(),搜索插入位置,无重复字符的最长子串

最近在学习java,但是对于数据操作那部分还是不熟悉因此决定找几个简单的算法写,用php和java分别实现1.合并两个有序链表将两个有序链表合并为一个新的有序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 示例:输入:1->2->4,1->3->4输出:1->1-&...

算法练习之两数相加(链表保存的整数),罗马数字转整数,有效的括号,最长公共前缀

最近在学习java,但是对于数据操作那部分还是不熟悉因此决定找几个简单的算法写,用php和java分别实现1.两数相加两个 非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字。如果,我们将...

算法练习之整数反转,回文数

最近在学习java,但是对于数据操作那部分还是不熟悉因此决定找几个简单的算法写,用php和java分别实现1.给出一个32位的有符号整数,你需要将这个整数中每位上的数字进行反转。示例 1:输入:123输出:321 示例2:输入:-123输出:-321示例3:输入:120输出:21注意:假设我们的环境...

算法系列二:排序

一.快排:1.代码:packagecom.inspire.jdk.caculate;/***Createdby*/publicclassQuickSort{publicstaticvoidmain(String[]args){int[]a=newint[]{2,7,4,5,10,1,9,3,8,6};sort(a,0,...
代码星球 代码星球·2021-01-30

算法系列一:简单排序

一.三种简单易懂的排序算法1.代码:packagecom.inspire.jdk.caculate;/***Createdbyyamingon18-6-26.*/publicclassOrderTest{publicstaticvoidmain(String[]args){/*冒泡排序:相邻两个位置元素比较,如果前面一...
代码星球 代码星球·2021-01-30

自己实现数据结构系列五---BinarySearchTree

一.二分搜索树:1.代码:publicclassBST<EextendsComparable<E>>{privateclassNode{publicEe;publicNodeleft;publicNoderight;publicNode(Ee){this.e=e;left=null;right=...

自己实现数据结构系列四---Queue

一.代码部分1.定义接口:publicinterfaceQueue<E>{voidenqueue(Ee);Edequeue();EgetFront();intgetSize();booleanisEmpty();}2.基于数组的实现publicclassArrayQueue<E>implemen...

自己实现数据结构系列三---Stack

一.代码部分1.定义接口publicinterfaceStack<E>{intgetSize();booleanisEmpty();voidpush(Ee);Epop();Epeek();}2.基于数组实现:publicclassArrayStack<E>implementsStack<E...

自己实现数据结构系列二---LinkedList

一.先上代码:1.方式一:publicclassLinkedList<E>{//节点,用来存放数据:数据+下一个元素的引用privateclassNode{privateEe;privateNodenext;publicNode(Ee,Nodenext){this.e=e;this.next=next;}p...
首页上一页...3334353637...下一页尾页