剑指Offer
剑指offer中能够从c/c++中转换成java的代码,例如c/c++中操作符重载无法java实现
MinCheung
这个作者很懒,什么都没留下…
展开
-
面试题6:从尾到头打印链表
题目:输入一个链表的头节点,从尾到头反过来打印出每个系欸但的值。链表节点定义如下 本实现方法有头节点,头节点没有数据域 class Node{ int value; Node next; public Node() { } public Node(int value) { this.value = value; } @Override public String toString() { return "Node [value=" + value + "]"; } }原创 2021-09-10 23:56:10 · 167 阅读 · 0 评论 -
面试题5:替换空格
时间复杂度O(n) 空间复杂度O(1) package com.basic; public class ReplaceBlank { public static void main(String[] args) { char[] s=new char[50]; String str="we are happy"; int i = 0; for (; i < str.length(); i++) { s[i] = str.charAt(i); } s[i]='\0原创 2021-09-04 23:39:46 · 94 阅读 · 0 评论 -
面试题4:二维数组中的查找
package com.basic; /** * * @author Min * 问题描述: * 在一个二位数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。 * 请完成一个函数,输入这样的一个二维数组和一个整数,判断数组是否会含有该整数 * */ public class FindInPartiallySortedMatrix { public static void main(String[] args) { int[][] matrix={{1原创 2021-09-01 23:32:24 · 148 阅读 · 0 评论 -
面试题3:数组中重复的数字
题目一:空间复杂度O(1) 时间复杂度O(n) package com.basic; import java.util.ArrayList; import java.util.Arrays; /** * * @author Min * * 问题描述:找出数组中重复的数字 * 在一个长度为n的数组里的所有数字都在0 --- n-1 的范围内,数组中某些数字是重复的, 但是不知道有几个数字重复了, * 也不知道每个数字重复了几次。请找出数组中任意一个重复的数字,例如,如果输入长度为7原创 2021-08-30 23:33:09 · 154 阅读 · 0 评论 -
面试题2:实现Singleton模式
饿汉模式: package com.mincheung.Singleton.hungry; /** * 1. 1. 单例模式: * * 1. 概念:设计一个类,这个类只能创建一个对象。(限制创建对象对象数量) * * 2. 怎么设计? * 控制创建对象的数量 => 创建对象通过new 调用构造方法 => 控制构造方法就能控制创建对象 * 控制调用构造方法 => 用private修饰 => 需要给外部提供一个对象 => * 先原创 2021-08-30 23:29:02 · 88 阅读 · 0 评论