《剑指Offer》---实现Singleton模式
摘要:题目:设计一个类,我们只能生成该类的一个实例,实现Singleton模式(单例模式)。 思路:只能生成一个实例的类是实现了Singleton(单例)模式的类型。由于要求只能生成一个实例,因此我们必须把构造函数设为私有函数以禁止他人创建实例。 解法一:只适用于单线程环境(饿汉式,线程安全) 实现单例模
阅读全文
Java《剑指Offer》面试题2:替换空格
摘要:替换空格 题目描述:请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。 思路:创建StringBuffer对象,然后将StringBuffer对象转成字符串对象,接着调用字符串对象的repla
阅读全文
Java面试题--如何用递归实现字符串反转
摘要:用递归实现字符串反转 题目描述:对一个字符串,如何用递归方式实现字符串的反转。如字符串:“123456”,用递归实现反转后,效果是“654321”。 思路:将字符串转换成字符数组,每次截取字符串的首字符放到最后,并再次对剩余字符串递归截取首字符,直到满足if条件( 递归实现字符串反转 完成代码如下:
阅读全文
《剑指Offer》二维数组中的查找
摘要:二维数组中的查找 题目描述:在一个二维数组中,每个一维数组的长度相同,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。 思路:选取二维数组的右上角元素, 如果元素大于target(表示输入的那个整数)
阅读全文