算法与数据结构
bruce_xia6116
这个作者很懒,什么都没留下…
展开
-
单链表的反转、判断是否有环、输出倒数第k个元素
字符串的反转 递归法实现单链表反转 public class ReverseList { public static void main(String[] args){ Node linkNode=new Node(); linkNode.data=1; Node linkNode2=new Node(); linkNode2...原创 2019-08-24 18:46:21 · 157 阅读 · 0 评论 -
字符串回文串问题
判断一个整数是否是回文数 题目描述: 判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。 例如: 输入: 121 输出: true 输入: -121 输出: false 解释: 从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不是一个回文数。 public class LeetCode_09_huiwenshu { publi...原创 2019-08-26 19:11:12 · 96 阅读 · 0 评论 -
最长子串问题
最长子串问题 问题描述:给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。 示例: 输入: “abcabcbb” 输出: 3 解释: 因为无重复字符的最长子串是 “abc”,所以其长度为 3。 public class LeetCode_03_zifuchuan { public static void main(String[] args){ Scann...原创 2019-08-26 19:07:38 · 687 阅读 · 0 评论 -
字符串空格去除问题
去除字符串开头,结尾和中间多余的空格 题目描述,键盘接收一行输入带空格的字符串,请编写函数输出去掉字符串中多余空格后的字符串(首尾空格去掉,中间的多个连续空格替换为单个空格) public class ReplaceBlankInString { public static void main(String[] args){ Scanner sc=new Scanner(S...原创 2019-08-26 19:03:30 · 406 阅读 · 0 评论 -
二分法查找
二分法查找java实现 题目描述:采用二分法查找,查找到给定元素则返回下标;若未找到则返回-1; public class BinarySearch { public static void main(String[] args){ int[] arr={2,4,6,7,8,9,10,17,19,20,34,78,89}; System.out.print(...原创 2019-08-26 19:00:41 · 126 阅读 · 0 评论 -
单链表按位求和的多种实现方式
单链表求和 问题描述: 给定两个链表,分别表示两个非负整数。它们的数字逆序存储在链表中,且每个结点只存储一个数字,计算两个数的和,并且返回 和的链表头指针。 例如输入:2->4->3、5->6->4,输出:7->0->8 解题思路: 首先定义两个指针分别指向两条链表的头结点同时定义一个进位标注符初始值为0,然后判断两个指针指向的节点都不为空时,定义一个新的...原创 2019-08-26 18:58:32 · 753 阅读 · 0 评论 -
两种方式实现双向链表的反转
双向链表的反转 双向链表的反转,两种方式实现,1、利用指针遍历的方式实现;2、不采用指针,直接用数据交换的方式进行反转。 public class shuangxianglianbaiofanzhuan { public static void main(String[] args){ DoubleLinkedList<Integer> list=new Dou...原创 2019-08-26 18:42:28 · 7272 阅读 · 1 评论 -
字符串反转的经典案例
字符串反转 字符串反转中较为经典的一个案例就是,要求将给定字符串反序输出,但是要求单词本身的字符顺序不变。例如输入:the sky is blue要求输出:blue is sky the。 /** * 题目描述: * 给定一段英文字符串,要求逆序输出,例如输入:the sky is blue要求输出:blue is sky the */ public class Sring_Tes...原创 2019-08-17 15:32:48 · 338 阅读 · 0 评论 -
八大排序算法经典总结
文章目录常见的几种排序算法冒泡法选择排序算法插入排序算法希尔排序归并排序快速排序堆排序基数排序总结 常见的几种排序算法 冒泡法 冒泡排序是一种简单的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果它们的顺序错误就把它们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。 1、比较相邻的元素如果第一个比第二个大,就交换它们两个。 2、对每一对相邻元素作同样...原创 2019-08-17 15:13:13 · 357 阅读 · 1 评论 -
剑指Offer18:二叉树的遍历问题
二叉树的遍历方式大全 问题描述 构建前序遍历和中序遍历分别为:8,8,9,2,4,7,7和 9,8,4,2,7,8,7的二叉树; 问题分析 二叉树的遍历主要有四种:前序遍历,中序遍历,后序遍历和层级遍历;前、中、后序主要说的是根结点的访问顺序;前序遍历中先访问根结点,然后访问左子树,然后再访问右子树;中序遍历中,先访问左子树,在访问根结点然后再访问右子树,依次类推。。。 层级遍历值得是,每次都遍历...原创 2019-08-31 15:59:28 · 127 阅读 · 0 评论