`
zeyuphoenix
  • 浏览: 57934 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

收集面试题(二十二)(插入字符串)

阅读更多
public class Insert {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		System.out.println(insert("ab打def", "abc", 3));
		System.out.println(inversion("ab打def"));
	}

	/**
	 * 插入字符串
	 */
	public static String insert(String info, String insert, int index) {

		if (info == null || insert == null) {
			throw new NullPointerException(
					"the insert string is null or the info string is null.");
		}
	
		if (info.length() < index) {
			throw new IndexOutOfBoundsException(
					"the insert index is out of bounds.");
		}
		char[] buffer = null;
		if (info.length() == 0) {
			return insert;
		} else if (insert.length() == 0) {
			return info;
		} else {
			buffer = new char[info.length() + insert.length()];

			for (int i = 0; i < info.length(); i++) {
				if (i < index) {
					buffer[i] = info.charAt(i);
				} else {
					buffer[i + insert.length()] = info.charAt(i);
				}
			}

			for (int i = 0; i < insert.length(); i++) {
				buffer[index + i] = insert.charAt(i);
			}
		}

		return new String(buffer);
	}

	/**
	 * 反转
	 */
	public static String inversion(String info) {
		if (info == null) {
			throw new NullPointerException("the info string is null.");
		}
		char[] buffer = new char[info.length()];
		for (int i = 0; i < info.length(); i++) {
			buffer[i] = info.charAt(info.length() - i - 1);
		}

		return new String(buffer);
	}
}

 

分享到:
评论
发表评论

文章已被作者锁定,不允许评论。

相关推荐

    计算机常见算法面试题

    本资源摘要信息涵盖了计算机常见算法面试题,主要涉及链表、字符串操作、搜索算法等方面的知识点。下面是对标题、描述、标签和部分内容的详细解释: 标题:计算机常见算法面试题 该标题表明了这是一份计算机常见...

    最新更新!新增300+题目和github资源!史上最全python面试题搜集.zip

    1. **Python基础**:包括语法、变量、数据类型(如字符串、列表、元组、字典)、流程控制(条件语句、循环)、函数定义和调用、模块导入等。 2. **数据结构**:深入理解列表、元组、集合和字典的操作,以及如何使用...

    Unity面试题(含c#)

    ### Unity面试题(含C#)相关知识点解析 #### 一、值类型与引用类型的区别 1. **存储位置**: - **值类型**: 存储在内存栈中。 - **引用类型**: 数据存储在内存堆中,内存单元存放的是堆中数据的地址。 2. **访问...

    淘宝java面试题.pdf

    以下是对【标题】“淘宝java面试题.pdf”中提及的两个知识点——`String`、`StringBuffer`、`StringBuilder`的区别以及`Vector`、`ArrayList`、`LinkedList`的区别进行详细解释: 一、`String`、`StringBuffer`、`...

    Java后端开发+Java中级面试题

    Java后端开发面试题涉及到多个核心领域,包括Redis的使用场景和持久化机制、Docker与虚拟机的区别、MySQL调优、以及消息队列RabbitMQ的基础知识。下面将逐一详细解析这些知识点。 1. Redis应用场景: - a. 数据...

    java基础及中级面试题+jvm面试题+集合面试题

    6. **字符串操作**:熟悉String类的常用方法和字符串池的概念。 7. **数组与集合**:掌握数组和集合的区别,以及ArrayList、LinkedList、HashSet等常用集合的特性。 其次,JVM面试题主要涉及Java虚拟机的工作原理:...

    java程序员 五套面试题

    通过阅读《Java面试题1.doc》到《Java面试题5.doc》这五个文档,你可以深入学习和复习这些知识点,为面试做好充分准备。每个文档都可能包含了详细的解答和解析,帮助你理解和巩固这些重要的Java知识。

    Java大厂面试题集(最新最全)

    Java的基础知识包括语法特性、数据类型、运算符、流程控制语句(如if、switch、for、while)、数组、字符串、面向对象特性(封装、继承、多态)等。面试中可能会考察这些基本概念的理解和应用,例如类的设计、接口的...

    java面试题20道(适合工作1~3年)(附答案).docx

    【Java面试题解析】 1. **Java中实现多态的机制**:Java通过方法的重写(Overriding)和重载(Overloading)实现多态性。重写是子类对父类方法的重新定义,使得子类对象可以拥有与父类不同的行为;重载则是同一个类...

    75个JavaScript面试题集锦

    40. **模板字符串**:使用反引号 ` `` 包裹的字符串,可以插入变量和表达式。 41. **对象解构**:从数组或对象中提取值,并将其分配给变量。 42. **ES6 模块**:使用 `import` 和 `export` 关键字,支持静态的、可...

    收集的java面试题

    ### Java面试题精析 #### 一、面向对象的四大特征 在Java中,面向对象编程的核心在于四个关键特征:抽象、继承、封装和多态。 1. **抽象**:抽象是面向对象编程的重要基石,它使我们能够关注对象的关键属性和行为...

    java经典面试题

    ### Java经典面试题知识点梳理 #### J2SE基础 1. **九种基本数据类型的大小,及其封装类**: - Java提供了八种基本数据类型(`byte`, `short`, `int`, `long`, `float`, `double`, `boolean`, `char`),每种类型...

    java经典面试题.doc

    ### Java经典面试题知识点解析 #### 1. super()与this()的区别? - **super()**:用于调用父类的构造方法。在一个子类的构造方法中,如果要调用父类的构造方法,必须使用`super()`,并且这个调用语句必须放在子类...

    java面试题及答案

    `StringBuffer`和后来的`StringBuilder`类提供了可变字符串的操作,它们可以在字符串末尾添加、删除或插入字符,而不会创建新的对象,因此在需要频繁修改字符串时更加高效。 #### 三、基本数据类型与包装类 1. **...

    互联网 大厂Java 工程师面试题.pdf

    3. **#{}和${}**:#{}用于预编译,防止SQL注入,${}则是简单的字符串替换,存在SQL注入风险。 4. **实体类属性与表字段不一致**:可以使用`@Column`注解指定字段映射关系。 5. **模糊查询like**:使用`%`通配符,...

    c++面试题(面试经验)自己收集自己总结 现在分享给大家

    算法方面,排序(如冒泡、选择、插入、快速、归并排序)、查找(线性、二分、哈希查找)、递归、动态规划等是常见的考察点。 三、内存管理 C++提供了对内存的直接管理,包括动态内存分配(new/delete)、内存泄漏...

    Java面试题精华

    Java面试题精华 以下是对Java面试题精华的知识点解析: 1. 面向对象的特征: Java语言是一种面向对象的编程语言,它具有四个基本特征:抽象、封装、继承和多态。抽象是指将复杂的实体简单化,以便更好地理解和...

    企业java面试题(笔试+面试)

    因此,如果需要频繁修改字符串,应优先选择StringBuffer(对于多线程环境,使用StringBuffer,否则使用StringBuilder)。 3. **运行时异常与一般异常**:运行时异常(RuntimeException)是程序运行时可能会遇到的...

Global site tag (gtag.js) - Google Analytics