自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

wmingstar

提笔写诗,落笔代码

  • 博客(25)
  • 收藏
  • 关注

原创 剑指Offer-19

题目:完成一个函数,输入一个二叉树,输出它的镜像。实现//coding = javapublic class Solution19 { public void mirrorTree(BinaryTreeNode root){ if(root==null){ return; } BinaryTreeNode tmp =

2017-05-27 09:44:55 228

原创 剑指Offer-18

题目:输入两棵树 A 和 B,判断 B 是不是 A 的子结构。实现//coding = javapublic class Solution18 { public static boolean hasSubTree(BinaryTreeNode root1,BinaryTreeNode root2){ boolean result = false; if(ro

2017-05-27 09:26:39 340

原创 剑指Offer-17

题目:输入两个递增排序的链表,合并这两个链表并使新链表中的结点仍然是按照递增排序的。实现// coding = javapublic class Solution17 { //法1 非递归实现 public Node mergeList1(Node head1,Node head2){ if(head1==null && head2==null){

2017-05-27 09:04:11 402

原创 剑指Offer-16

题目:反转链表,实现一个函数,输入一个链表的头节点,反转该链表,输出反转后链表的头节点。实现//coding = javapublic class Solution16 { public Node reverseList(Node head){ if(head==null){ return null; } if(hea

2017-05-26 16:11:02 195

原创 剑指Offer-15

题目:输入一个链表,输出该链表中倒数第K个结点。实现//coding = java public class Solution15 { public Node findKthToTail(Node head,int k){ if(head==null){ throw new RuntimeException("链表为空"); }

2017-05-26 15:45:17 220

原创 剑指Offer-14

题目:输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有奇数位于数组的前半部分, 所有偶数位于数组的后半部分。实现//coding = java public class Solution14 { public static int[] Recorder(int[] nums){ if(nums == null || nums.length==0){

2017-05-26 15:37:08 189

转载 常见面试题整理—计算机网络部分

1.OSI,TCP/IP,五层协议的体系结构,各层协议,以及各层的作用OSI分层:应用层、表示层、会话层、传输层、网络层、数据链路层、物理层 TCP/IP分层: 应用层、运输层、网际层、网际接口层 五层协议: 应用层、传输层、网络层、数据链路层、物理层每一层的协议如下**应用层:**FTP、DNS、Telnet、SMTP、HTTP、WWW、NFS **表示层:**JPEG、MPEG、ASII

2017-05-26 12:22:44 796

原创 剑指Offer-13

题目:实现

2017-05-25 09:57:52 279

原创 剑指Offer-12

题目:输入数字 n 按顺序打印出从 1 到最大的 n 位十进制数, 比如输入 3,则打印出 1 、2、3、 …..一直到 999。实现// coding = javapublic class Solution12 { public static void printOneToNDigits(int n) { // 输入的数字不能为小于1 if (n < 1)

2017-05-25 09:24:43 248

原创 剑指Offer-11

题目:实现函数 double Power(double base,int exponent) 求 base 的 exponent 次方。 (注意考虑边界条件 : base 为0 或者 exponent 小于 1 为负数)实现// coding = javapublic class Solution11 { public static double power(double b

2017-05-25 08:43:41 200

转载 java对象克隆浅析

为什么需要克隆?在实际编程过程中,我们常常要遇到这种情况:有一个对象A,在某一时刻A已经包含了一些有效值,此时可能会需要一个和A完全相同新对象B,并且此后对B任何改动都不会影响到A中的值,也就是说,A与B是两个独立的对象,但B的初始值是由A对象确定的。在Java语言中,用简单的赋值语句是不能满足这种需求的,要满足这种需求有很多途径。克隆的实现方式一、浅拷贝对于要克隆的对象,对于其基本数据类型的属性,

2017-05-24 15:43:08 497

原创 剑指Offer-10

题目:实现一个函数,输入一个整数,输出该二进制表示中 1 的个数。 同类的题: (1)P判断一个数是否是 2 的整数次方 。 (当 是 2 的整数次方时,只有一位为 1) (2)判断两个数的二进制表示中有几位是相异(先异或 再求 1 的个数)。实现public class Solution10 { //这种解法是错的,当输入为 负数时,右移时,高位补1,会陷入死循环 pub

2017-05-24 15:05:52 171

原创 剑指Offer-9

题目:写一个函数,输入 n ,求斐波那契数列的第n项实现public class Solution9 { //直接递归,,当递归深度较深时,效率很低 public int Fibonacci1(int n){ if(n<0){ throw new RuntimeException("n 小于 0,输入不合法"); }

2017-05-24 14:43:21 169

原创 剑指Offer-8

题目:把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转, 输入一个递增排序的数组的一个旋转,输出旋转数组的最小元素。//coding =javapublic class Solution8 { public static int findMinNum(int[] nums){ if(nums==null || nums.length<1){

2017-05-23 16:23:45 220

原创 剑指Offer-7

题目:用两个栈实现队列实现//coding = javapublic class SQueue { private Stack<Integer> stack1 = new Stack(); private Stack<Integer> stack2 = new Stack(); public void add(int data){ stack1.add(da

2017-05-23 15:56:27 161

原创 剑指Offer-6

题目:重建二叉树 输入某个二叉树的前序遍历和中序遍历的结果,请重建出该二叉树,假设 输入的前序遍历和中序遍历的结果中都不含重复的数字。实现public class Solution6 { public static BinaryTreeNode treeConstruct(int[] preorder, int[] inorder) { // 输入的合法性判断,两个数组都不能

2017-05-23 09:27:54 218

转载 java移位运算详解

java移位运算符有三种:<<(左移)、>>(带符号右移)和>>>(无符号右移)。 左移左移运算符 << 使指定值的所有位都左移指定的次数。 1)它的通用格式如下所示:value << num num 指定要移位值value 移动的位数。 左移的规则只须记住一点:丢弃最高位,0补最低位 如果移动的位数超过了该类型的最大位数,那么编译器会对移动的位数取模。如对int型左移33位,实际上只移

2017-05-22 16:44:02 2228

原创 剑指Offer-5

题目:输入一个链表的头节点,从头到尾反过来打印出每个节点的值。实现//coding = javaimport java.util.Stack;public class Solution5 { // public static void printListReversinglyUsingStack(Node head){ if(head==null){

2017-05-22 14:39:31 194

原创 剑指Offer-4

题目:请实现一个函数,把字符串中的每个空格替换成”%20”,例如”We are happy.”,则输出”We%20are%20happy.”实现// coding = javaimport java.util.ArrayList;import java.util.List;public class Solution4 { public static void replaceString(

2017-05-22 14:25:18 200

原创 常用搜索算法的分析与实现

二分查找又称折半查找,它是一种效率较高的查找方法,但使用二分查找要满足以下要求: 1.必须采用顺序存储结构 2.待查找的序列为按关键字大小有序排列的序列。代码实现:public class BinarySearch { public static int binarySearch(int[] nums,int num){ if(nums==null || nums.len

2017-05-19 08:40:20 509

转载 面试常考知识点—数据库

1.存储过程是什么?我们常用的关系型数据库是MySQL,操作数据库的语言一般为SQL语句,SQL在执行的时候需要要先编译,然后执行,而存储过程(Stored Procedure)是一组为了完成某种特定功能的SQL语句集,经编译后存储在数据库中,用户通过指定存储过程的名字并给定参数(如果该存储过程带有参数)来调用执行它。一个存储过程是一个可编程的函数,它在数据库中创建并保存。它可以有SQL语句和一些特

2017-05-18 16:59:51 22580 8

原创 ArrayList 和 LinkedList的区别

ArrayList和LinkedList的主要区别: 1.ArrayList是实现了基于动态数组的数据结构,LinkedList是基于链表的数据结构; 2.对于随机访问get和set,ArrayList优于LinkedList,因为LinkedList要移动指针。 3.对于新增和删除操作add和remove,LinedList比较占优势,因为ArrayList要移动数据。 ArrarList

2017-05-12 11:30:13 661

原创 剑指Offer-3

题目:在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。 输入:二维数组 整数 输出:boolean实现//coding = javapublic class Solution3 { public static boolean findNum(int[][] da

2017-05-10 09:53:56 416

原创 Socket编程——java实现

客户端import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.io.PrintStream;import java.net.Socket;import java.net.SocketTimeoutException;import java.u

2017-05-10 09:10:39 267

原创 常用排序算法的分析与实现

排序算法的分类1. 交换排序(冒泡排序、快速排序) 2. 插入排序(直接插入排序、希尔排序) 3. 选择排序(直接选择排序、堆排序) 4. 归并排序 5. 分配排序(基数排序) 所需辅助空间最多:归并排序 所需辅助空间最少:堆排序 平均速度最快:快速排序 不稳定:快速排序,希尔排序,堆排序冒泡排序基本思路:在要排序的一组数中,对当前还未排好序的范围内的全部数,从前向后对相邻的两

2017-05-08 09:54:55 274

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除