![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
JavaSE
⭐⭐❤
...
展开
-
String 互转 byte, short, int, long, float,double 和 float ,double 去小数点 和 小数点 左移右移(Java)
byte, short, int, long, float,double 转 String :String str = String.valueOf( value); // 其中 value 为任意一种数字类型。 String 转 byte, short, int, long, float,double :String str = "169"; byte b = Byte.parseB...原创 2019-12-31 20:41:05 · 881 阅读 · 1 评论 -
牛客网:跟着奥巴马一起编程15(Java)
跟着奥巴马一起编程15题目描述:美国总统奥巴马不仅呼吁所有人都学习编程,甚至以身作则编写代码,成为美国历史上首位编写计算机代码的总统。2014年底,为庆祝“计算机科学教育周”正式启动,奥巴马编写了很简单的计算机代码:在屏幕上画一个正方形。现在你也跟他一起画吧!输入描述:输入在一行中给出正方形边长N(3<=N<=20)和组成正方形边的某种字符C,间隔一个空格。输出描述:输出...原创 2019-12-25 11:17:35 · 105 阅读 · 0 评论 -
牛客网: 生成格雷码(Java)
生成格雷码题目描述在一组数的编码中,若任意两个相邻的代码只有一位二进制数不同, 则称这种编码为格雷码(Gray Code),请编写一个函数,使用递归的方法生成N位的格雷码。给定一个整数n,请返回n位的格雷码,顺序为从0开始。测试样例:输入 : 1输出 :[“0”,“1”]题解:格林码数 是指 一个整数 n(例 :2) 的二进制编码 (例:00 01 10 11) 排放顺序是按照 ...原创 2019-12-23 16:00:45 · 194 阅读 · 0 评论 -
leetcode:705. 设计哈希集合(Java)
705.设计哈希集合不使用任何内建的哈希表库设计一个哈希集合具体地说,你的设计应该包含以下的功能add(value):向哈希集合中插入一个值。contains(value) :返回哈希集合中是否存在这个值remove(value):将给定值从哈希集合中删除。如果哈希集合中没有这个值,什么也不做。示例:MyHashSet hashSet = new MyHashSet();has...原创 2019-12-06 16:53:43 · 222 阅读 · 0 评论 -
leetcode : 350. 两个数组的交集 II(Java)
350.两个数组的交集 II给定两个数组,编写一个函数来计算它们的交集。思路: 这道题 所谓的 两个数组的交集 不仅是数组中数值相同,还有这个相同数值出现的两个数组中 共同的次数,在两个数组中共同出现了几次,就必须在最后返回的数组中出现几次。就可以在每次比较相等之后,去掉那个数。示例 1:输入: nums1 = [1,2,2,1], nums2 = [2,2]输出: [2,2]示例...原创 2019-12-06 10:47:21 · 130 阅读 · 0 评论 -
387. 字符串中的第一个唯一字符(Java)
387.字符串中的第一个唯一字符给定一个字符串,找到它的第一个不重复的字符,并返回它的索引。如果不存在,则返回 -1。案例:s = "leetcode"返回 0.s = "loveleetcode",返回 2.方法1:public static int firstUniqChar(String s) { Map<Character,Integer>...原创 2019-12-05 21:27:23 · 116 阅读 · 0 评论 -
快速排序(Java)
快速排序从待排序区间选择一个数,作为基准值(pivot);Partition: 遍历整个待排序区间,将比基准值小的(可以包含相等的)放到基准值的左边,将比基准值大的(可以包含相等的)放到基准值的右边;采用分治思想,对左右两个小区间按照同样的方式处理,直到小区间的长度 == 1,代表已经有序,或者小区间的长度 == 0,代表没有数据。可以进行画图 试走// partition()...原创 2019-12-03 23:13:41 · 71 阅读 · 0 评论 -
归并排序(Java)
归并排序(MERGE-SORT)是建立在归并操作上的一种有效的排序算法,该算法是采用分治法(Divide andConquer)的一个非常典型的应用。将已有序的子序列合并,得到完全有序的序列;即先使每个子序列有序,再使子序列段间有序。若将两个有序表合并成一个有序表,称为二路归并非递归方法:将无序数组按一组1个,2个,4个…分 ;使用循环 递增条件为2*n;当一组按照一个分时,进行 ...原创 2019-11-28 20:19:58 · 83 阅读 · 0 评论 -
leetcode:合并二叉树(Java递归法)
合并二叉树题目:给定两个二叉树,想象当你将它们中的一个覆盖到另一个上时,两个二叉树的一些节点便会重叠。你需要将他们合并为一个新的二叉树。合并的规则是如果两个节点重叠,那么将他们的值相加作为节点合并后的新值,否则不为 NULL 的节点将直接作为新二叉树的节点。示例:输入: Tree 1 Tree 2 ...原创 2019-11-25 11:13:24 · 199 阅读 · 0 评论 -
二叉树的前序遍历,两种方法(递归 / 迭代)
leetcode 144. 二叉树的前序遍历给定一个二叉树,返回它的 前序 遍历从根节点开始先走左子树 再走右子树示例:输入: [1,null,2,3] 1 \ 2 / 3 输出: [1,2,3]//递归法/** * Definition for a binary tree node. * public class TreeNode ...原创 2019-11-21 20:37:52 · 160 阅读 · 0 评论 -
牛客网:找出单向链表中的一个节点,该节点到尾指针的距离为K
题目描述:找出单向链表中的一个节点,该节点到尾指针的距离为K。链表的倒数第0个结点为链表的尾指针。要求时间复杂度为O(n)。链表结点定义如下://这个结构体应该是C/C++代码所要的,//使用Java语言编程,需要总计创建一个结点的类,用这个节点类去创建节点struct ListNode { int m_nKey; ListNode* m_pNext; }链表节...原创 2019-11-10 16:58:43 · 301 阅读 · 0 评论 -
Leetcode: 链表中的两数相加(java)
两数相加题目描述:给出两个 非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字。如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。您可以假设除了数字 0 之外,这两个数都不会以 0 开头。示例:输入:(2 -> 4 -> 3) + (5 -> 6 -> 4)输出:7 -&g...原创 2019-11-09 15:25:22 · 212 阅读 · 0 评论 -
leetcode : 415. 字符串相加(java)
题目描述:给定两个字符串形式的非负整数 num1 和num2 ,计算它们的和。示例1:输入: num1 = "1634"; num2 = "4567";输出: sumString = "6201"; 示例2:输入: num1 = "1634"; num2 = "95";输出: sumString = "1729";注意:...原创 2019-11-08 16:21:15 · 130 阅读 · 0 评论 -
StringBuffer 和 StringBuilder (Java)
StringBufferStringBuilder原创 2019-11-06 21:04:54 · 137 阅读 · 0 评论 -
Java中的异常
1. 异常体系2. 异常处理流程程序先执行 try 中的代码如果 try 中的代码出现异常, 就会结束 try 中的代码, 看和 catch 中的异常类型是否匹配.如果找到匹配的异常类型, 就会执行 catch 中的代码如果没有找到匹配的异常类型, 就会将异常向上传递到上层调用者.无论是否找到匹配的异常类型, finally 中的代码都会被执行到(在该方法结束之前执行).如果上层调...原创 2019-11-06 16:33:08 · 75 阅读 · 0 评论 -
String&StringBuffer类转换
String转化为StringBuffer类方法一:使用StringBuffer类的构造方法,public StringBuffer(String str)public class Person { public static void main(String[] args) { String str ="hello world"; StringBuff...原创 2019-11-05 23:15:40 · 115 阅读 · 0 评论 -
String类(Java)
1.String类基本用法String类就是字符串类 是引用类型构造方法(字符串的创建)//字符串的创建//方式一String str1 = "abcdef";//方式二String str2 = new String("abcdef");//方式三char[] array = {'a','b','c','d'};String str3 = new String(arr...原创 2019-11-05 18:45:29 · 129 阅读 · 0 评论 -
面向对象中的多态(Java)
多态向上类型转换(三种)是一种类型转换,类和类之间的转换(父类和子类)。//1.直接传值:一个子类的对象 用 一个父类的引用去表示。Animal animal = new Bird("圆圆");animal.eat("小米");//下面这种写法也可以,但平常都按照上面这样来写Bird bird = new Bird("圆圆");Animal animal = bird;b...原创 2019-11-03 18:42:01 · 82 阅读 · 0 评论 -
面向对象中的包和继承(Java)
包包 就是文件夹、是组织类的一种方式。因为我们的项目需要创建很多的类,而为了代码有更高可读性,一个.java文件一般只存放一到两个类。所以为了更好的整理类,就有了包。在我们的计算机磁盘中也就是文件夹。包的代码如何在命令框中运行:注意:编译时是斜杠 \ 运行时是点 .在idea中怎样创建包包的导入:用import关键字在.java文件的首行(可在代码中...原创 2019-11-02 17:01:34 · 151 阅读 · 0 评论 -
为什么github的绿色变成黄色了?
祝您万圣节快乐!Happy Halloween!因为10月31号是西方的万圣节,是西方的传统节日。所以github为了庆祝,也是将传统的绿色换成了黄色至深红,更加的欢庆!...原创 2019-10-31 23:23:55 · 755 阅读 · 0 评论 -
leetcode : 203. 移除链表元素 (java)
移除链表元素题目描述:给定一个单链表 L:L0→L1→…→Ln-1→Ln ,将其重新排列后变为: L0→Ln→L1→Ln-1→L2→Ln-2→…你不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换。/** * Definition for singly-linked list. * public class ListNode { * int val; * ...原创 2019-10-26 21:39:29 · 121 阅读 · 0 评论 -
Leetcode : 24. 两两交换链表中的节点 (java)
两两交换链表中的节点:题目描述:给定一个链表,两两交换其中相邻的节点,并返回交换后的链表。你不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换。示例:给定 1->2->3->4, 你应该返回 2->1->4->3./** * Definition for singly-linked list. * public class ListNode...原创 2019-10-26 18:02:21 · 213 阅读 · 0 评论 -
leetcode : 奇偶链表 (java)
题目描述:给定一个单链表,把所有的奇数节点和偶数节点分别排在一起。请注意,这里的奇数节点和偶数节点指的是节点编号的奇偶性,而不是节点的值的奇偶性。请尝试使用原地算法完成。你的算法的空间复杂度应为 O(1),时间复杂度应为 O(nodes),nodes 为节点总数。示例 1:输入: 1->2->3->4->5->NULL输出: 1->3->5-&...原创 2019-10-26 17:58:36 · 167 阅读 · 0 评论 -
Java类和对象总结
一、类和对象的初步认识面向对象:C++、JAVA面向对象就是用代码(类)来描述客观世界的事物的一种方式,一个类主要包含一个事物的属性和行为。面向对象注重的是对象,也就是参与过程所涉及到的主体。是通过逻辑将一个个功能实现连接起来面向过程:C语言面向过程注重的是过程,在整个过程中所涉及的行为,就是功能。什么是类:类就是高配的结构体(结构体是自定义类型(自定义类型是基础类型的组合...原创 2019-10-22 21:08:05 · 1378 阅读 · 0 评论 -
数组中基本的练习题
1.数组中的最大值2.逆置数组3.二分查找;递归版本二分查找4.冒泡排序5.给定一个整型数组, 判断是否该数组是有序的(升序)6.求数组的平均数7.数组的顺序查找8.数组的打印9.数组的拷贝10.数组的数字排列,偶数放前,奇数放后import java.util.Arrays;/** * Created with IntelliJ IDEA. * Description...原创 2019-10-18 18:19:46 · 185 阅读 · 0 评论 -
最优版本的冒泡排序
排序过程:public static void bubbleSort(int[] arrary) { boolean flag = false; for(int i = 0; i < arrary.length - 1; i++) { flag = false;//每次都要将 flag 置为 flase; for(int j = 0; j...原创 2019-10-18 17:05:55 · 225 阅读 · 1 评论 -
Arrarys常用的方法
int[] newArrary = Arrays.copyOf(int[] original, int newarrary.length,)拷贝数组,可定义要拷贝的长度int[] newArrary = Arrarys.copyOfRange(int[] original,int from,int to)拷贝数组,从from 到 to; 不包含to下表;[from,to)voi...原创 2019-10-18 16:37:07 · 250 阅读 · 0 评论 -
递归 青蛙跳 、汉诺塔
青蛙跳 :一只青蛙一次可以跳上 1 级台阶,也可以跳上2 级。求该青蛙跳上一个n 级的台阶总共有多少种跳法(假如有三个台阶:第一次跳一个,第二次挑两个 和 第一次跳两个,第二次挑一个 算一种跳法)public class Test { public static void main(String[] args){ Scanner scanner = new Sc...原创 2019-10-17 20:27:41 · 113 阅读 · 0 评论 -
二进制,八进制,十六进制的转换
二进制,八进制,十六进制的转换例如:十进制:50 转 二进制50 = 32 +16 +2 所以:二进制为:0011 0010 二进制 0101 1100 0110 1001 转 八进制(三位放一起) 0 101 110 001 101 001 0 5 6 ...原创 2019-10-13 11:06:36 · 1272 阅读 · 0 评论 -
求斐波那契数列的第 N项(C语言/java)
求斐波那契数列1,1,2,3,5,8第n项 等于前两项的和,即 f(n) = f(n-1) + f(n - 2)Java程序:public class Test { public static void main(String[] args) { //5.1实现代码: 求斐波那契数列的第 N 项 int ret1 = fib1(40); ...原创 2019-09-19 14:28:11 · 732 阅读 · 0 评论 -
Java中方法的基本用法, 方法重载, 方法递归
1.方法的基本用法,2.方法重载3.方法递归原创 2019-09-15 23:15:00 · 87 阅读 · 0 评论 -
求水仙花数(C语言/Java)
求出0~999999之间的所有“水仙花数”并输出。“水仙花数”是指一个三位数,其各位数字的立方和确好等于该数本身,如:153=1 ^ 3+5 ^ 3+3 ^ 3 ? ,则153是一个“水仙花数”。C语言程序:int main(){ int i = 0; for (i = 0; i < 1000000; i++) { int count = 1; int tmp = i...原创 2019-09-15 17:57:41 · 166 阅读 · 0 评论 -
递归和非递归分别实现求n的阶乘
程序:C语言程序://非递归求法int Fac1(int n){ int i,ret=1; for (i = 1; i <= n; i++) { ret =ret*i; } return ret;}//递归求法int Fac(int n){ if (n== 1) { return 1; } else { return n*Fac(n - 1);...原创 2019-09-15 17:50:51 · 144 阅读 · 0 评论 -
Java中的函数
java中用equals判断两个字符串是否相等例:String a = new String(“abc”);String b = new String(“abc”);a.equals(b);//相等返回ture,不相等返回false原创 2019-09-13 21:56:40 · 78 阅读 · 0 评论 -
java中条件和循环语句简单代码练习
根据年龄, 来打印出当前年龄的人是少年(低于18), 青年(19-28), 中年(29-55), 老年(56以上)判定一个数字是否是素数打印 1 - 100 之间所有的素数输出 1000 - 2000 之间所有的闰年输出乘法口诀表求两个正整数的最大公约数计算1/1-1/2+1/3-1/4+1/5 …… + 1/99 - 1/100 的值。程序:public class Text...原创 2019-09-09 12:40:25 · 234 阅读 · 0 评论 -
VS code 快捷键及git在vscode中的使用
撤销刚才的操作:Ctrl+Z恢复刚才的操作:Ctrl+Shift+Z注释代码 :ctrl +/弹出原创 2019-09-09 12:10:10 · 2179 阅读 · 0 评论 -
牛客网题目:链表中倒数第k个结点(Java程序两种解法)
题目描述输入一个链表,输出该链表中倒数第k个结点。思考:要得到倒数第k个节点,就是从头走 n-k 步(n是链表的长度)例如:链表总长n = 5,要求倒数第3个结点,就是从头走2步,即0,1步。/*public class ListNode { int val; ListNode next = null; ListNode(int val) { th...原创 2019-09-30 12:26:50 · 145 阅读 · 0 评论 -
leetcode题目:删除链表中等于给定值 val 的所有节点。(Java程序)
删除链表中等于给定值 val 的所有节点。示例:输入: 1->2->6->3->4->5->6, val = 6输出: 1->2->3->4->5/** * Definition for singly-linked list. * public class ListNode { * int val; * L...原创 2019-09-30 12:30:12 · 163 阅读 · 0 评论 -
leetcode题目:876. 链表的中间结点(java)
题目:链表的中间结点给定一个带有头结点 head 的非空单链表,返回链表的中间结点。如果有两个中间结点,则返回第二个中间结点。示例1:输入:[1,2,3,4,5]输出:此列表中的结点 3 (序列化形式:[3,4,5])示例2:输入:[1,2,3,4,5,6]输出:此列表中的结点 4 (序列化形式:[4,5,6])/** * Definition for singly-linke...原创 2019-09-30 13:58:57 · 185 阅读 · 0 评论 -
leetcode:83. 删除排序链表中的重复元素
给定一个排序链表,删除所有重复的元素,使得每个元素只出现一次。示例 1:输入: 1->1->2输出: 1->2示例 2:输入: 1->1->2->3->3输出: 1->2->3/** * Definition for singly-linked list. * public class ListNode { * in...原创 2019-10-11 18:11:30 · 70 阅读 · 0 评论