jdk源码——object

摘要: Object类,打开源码看到这样的注释 大意就是说Object类是所有类的根,所有的类都实现Object类里面的方法 1 Class<?> getClass(); 2 hashCode() 返回改类的hashCode值 3 equals方法 object里面的equals方法用的是,我们可以自己重写 阅读全文
posted @ 2018-09-17 11:19 计科wang 阅读(123) 评论(0) 推荐(0) 编辑

反转整数

摘要: 示例: 输入123 输出321 输入-123输出-321 这个题主要看反转后是否溢出,这就需要对rev进行判断 public int reverse(int x) { int rev = 0; while (x != 0) { int pop = x % 10; x /= 10; //2^31-1= 阅读全文
posted @ 2018-08-28 17:05 计科wang 阅读(201) 评论(0) 推荐(0) 编辑

环状链表问题

摘要: 1判断链表中是否有环 设置一个快指针,慢指针,当存在环的情况下就会出现快慢指针相等的情况 public ListNode isLoop(ListNode head){//判断是否有环 ,快慢指针相遇,有环, ListNode slow = head; ListNode fast = head; wh 阅读全文
posted @ 2018-08-20 21:27 计科wang 阅读(246) 评论(0) 推荐(0) 编辑

链表的翻转

摘要: public ListNode reverseListNode(ListNode node){ ListNode pre = null; ListNode now = node;//当前节点 while (now !=null){ ListNode after = now.next; now.nex 阅读全文
posted @ 2018-08-20 21:18 计科wang 阅读(76) 评论(0) 推荐(0) 编辑

利用插入排序对链表进行排序

摘要: 下图是对 4-15-9-1插入排序的举例 当if(p.val<=p.next.val){ p=p.next;} 当不满足条件时 q=p.next p.next=q.next 这时候,需要把q节点放到p节点之前的合适位置,即 while(r.next.val<=q.val){ r=r.next; } 阅读全文
posted @ 2018-08-15 22:09 计科wang 阅读(978) 评论(1) 推荐(0) 编辑

插入排序

摘要: 插入排序的意思是,在一组有序的数中,找到待插入数合适的位置,然后将数放入 如下图 原数组9,3,4,2,6,7,5,1,我们假设为4,5,9为排好序的,2,6,7,8,1位带插入的数,i j指向数组中的2,操作如下图所示 代码如下 public static void insertSort(int[ 阅读全文
posted @ 2018-08-15 15:55 计科wang 阅读(121) 评论(0) 推荐(0) 编辑

快速排序

摘要: 快速排序,每次把数组的第一个数作为边界值pivot,边界值左边都是比它小的数,右边都是比他大的数,low表示数组头,high表示数组尾,i=low,j=high,总数组的尾部开始找一个比边界小的数,找到后再从数组头部找到一个比它大的数,交换arr[i]与arr[j]的值,当 不满足i<j的条件时,代 阅读全文
posted @ 2018-08-15 14:46 计科wang 阅读(164) 评论(0) 推荐(0) 编辑

二分搜索技术

摘要: package sort; import java.util.Arrays; public class TestBinarySearch { public static void main(String[] args) { int[] arr ={2,5,3,8,6,4,7}; Arrays.sor 阅读全文
posted @ 2018-08-14 21:44 计科wang 阅读(188) 评论(0) 推荐(0) 编辑

在o(N log N)时间内使用恒定的空间复杂度对链表进行排序

摘要: 时间复杂度要求为o(N log N)所以,排序方法采用归并排序 代码如下 package sort; class ListNode { int val; ListNode next; ListNode(int x) { val = x; next = null; }} public class Te 阅读全文
posted @ 2018-08-14 21:23 计科wang 阅读(363) 评论(0) 推荐(0) 编辑

归并排序

摘要: 归并排序,要理解其排序的方法,就是将数组分成大小相同的两个序列,直至每个序列都有一个数为止,然后进行合并,所以分为,分解 合并两个操作 具体代码如下: import java.util.Arrays; public class TestMargeSort { public static void m 阅读全文
posted @ 2018-08-13 22:23 计科wang 阅读(133) 评论(0) 推荐(0) 编辑