`
hunray
  • 浏览: 221421 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类
最新评论

一些字符串相关面试题的java实现

    博客分类:
  • Java
 
阅读更多
1.字符串右移n位
2.字符串反转
3.返回任意整数对应二进制形式中的1的个数
4.显示字符串中字符的所有排序

import java.util.ArrayList;
import java.util.List;

public class Test4{
	public static void main(String[] args){
		System.out.println(strMoveLeft("alhgon1o4n34lln1231",10));
		System.out.println(strReverse("alhgon1o4n34lln1231b"));
		System.out.println(oneStat(15));
		sort("abcj");
	}
	
	//字符串右移n位
	private static String strMoveLeft(String a,int moveNum){		
		char[] a1 = a.toCharArray();
		char[] b1 = new char[a1.length];
		moveNum %= a.length();	//移动位数可能大于数组长度
		
		for(int i=0;i<a1.length;i++){
			if(i-moveNum>=0){
				b1[i-moveNum] = a1[i];
			}else{
				b1[i-moveNum+a1.length] = a1[i];
			}
		}
		return String.valueOf(b1);
	}
	//字符串反转
	private static String strReverse(String a){
		char[] a1 = a.toCharArray();
		
		for(int i=0;i<a1.length/2;i++){
			char temp = a1[i];
			a1[i] = a1[a1.length-i-1];
			a1[a1.length-i-1] = temp;
		}
		return String.valueOf(a1);
	}
	//返回任意整数对应二进制形式中的1的个数
	private static int oneStat(int i){
		int b = 0;
		while(i>0){
			if(i%2==1){
				b+=1;
			}
			i/=2;
		}
		return b;
	}
	//显示字符串中字符的所有排序,没有去重
	private static void sort(String a){
		char[] a1 = a.toCharArray();
		List<Character> list = new ArrayList<Character>();
		for(int i=0;i<a1.length;i++){
			list.add(a1[i]);
		}
		StringBuffer sb = new StringBuffer();
		display(list, sb);
	}
	
	private static void display(List<Character> list,StringBuffer sb){
		if(list.size()==0){
			System.out.println(sb.toString());
			return;
		}
		for(int i=0;i<list.size();i++){
			List<Character> dealList = new ArrayList<Character>(list);
			StringBuffer dealSb = new StringBuffer(sb);
			
			dealSb.append(String.valueOf(list.get(i)));
			dealList.remove(i);
			
			display(dealList,dealSb);//递归实现
		}
	}
	
}



分享到:
评论

相关推荐

    最新各大公司企业真实面试题-Java面试题

    最后,"Core Javaceshiti.doc"很可能包含了关于Java核心概念的总结,可能涵盖Java SE的主要部分,例如字符串处理、日期时间API、泛型、枚举、Lambda表达式等。 总的来说,这个压缩包为Java开发者提供了一个全面的...

    java截取字符串程序,一道面试题。答案

    java截取字符串,一道面试题。好像没有找到正确答案,今天找时间做了一个,仅供参考。本人运行过了。

    java面试题集锦 java面试题集锦

    以下是对标题和描述中涉及的一些常见Java面试题的详细解释: 1. **JDK 和 JRE 的区别** JDK(Java Development Kit)是用于开发和调试Java程序的完整工具集,包括JRE(Java Runtime Environment)、编译器(javac...

    Java面试题库,java面试题

    以下是一些关键的Java编程和面试相关知识点的详细解析: 1. **基础语法**:Java的基础语法包括数据类型(如整型、浮点型、字符型、布尔型)、变量、运算符、流程控制(if-else,switch,for,while,do-while)以及...

    最新Java面试题视频网盘,Java面试题84集、java面试专属及面试必问课程

    面试题包含了不同技术层面的面试问题,同时也能对一些没有面试开发经验的小白给予不可估量的包装, 让你的薪水绝对翻倍, 本人亲试有效.Java面试题84集、java面试专属及面试必问课程,所有的面试题有视屏讲解, 解答方案....

    Java面试题以及答案整理.pdf

    为了在Java面试中脱颖而出,了解和掌握常见的面试题及答案至关重要。以下是一些关键知识点的详细解析: 1. **super()与 this()的区别** `super()`用于调用父类的构造器,确保子类实例化时父类的初始化;`this()`则...

    常见的java,android面试题整理

    Java和Android面试题涵盖了许多核心概念,以下是这些知识点的详细说明: 1. **面向对象** (Object-Oriented Analysis and Design Principle, OOADP): 面向对象编程是Java和Android开发的基础,它涉及类、对象、继承...

    Java面试笔记 225道Java面试题JAVA面试基础知识点总结Java数据结构题笔试WORD资料汇总(19个).zip

    Java面试笔记 225道Java面试题JAVA面试基础知识点总结Java数据结构题 JAVA笔试面试WORD资料汇总(19个): 2014年最新Java笔试题及答案.docx 225道Java面试题 学会了Java面试随你问.docx Ant和Maven的作用是什么?两者...

    java面试大全视频版

    实现一个拷贝文件的工具类要使用字节流还是字符串 Java面试题13.线程的的实现方式?怎么启动线程?怎么区分线程? Java面试题14.线程并发库和线程池的作用 Java面试题15.设计模式和常用的设计模式 Java面试题16....

    java面试题精讲视频MP4Java面试题12.实现一个拷贝文件的类使用字节流还是字符串

    java面试题精讲视频MP4Java面试题12.实现一个拷贝文件的类使用字节流还是字符串提取方式是百度网盘分享地址

    java经典面试题

    - **实现思路**:解析URL字符串获取特定参数值。 - **代码片段示例**: ```java String url = "***"; String query = url.substring(url.indexOf('?') + 1); String[] pairs = query.split("&"); for (String...

    计算机和JAVA 面试题大全

    本资料集涵盖了丰富的Java面试题,旨在帮助求职者准备Java相关的技术面试,以期在竞争激烈的IT市场中脱颖而出。 1. **Java基础** - 讲解Java的特性:自动内存管理(垃圾回收)、多线程支持、异常处理等。 - 面试...

    面试题今天(字符串反转)

    根据提供的文件信息,我们可以从中提炼出与字符串反转相关的知识点,具体包括以下方面: ### 字符串反转的方法 #### 方法一:使用字符数组实现反转 在第一个示例代码中,使用了字符数组来实现字符串的反转。 ```...

    java面试八股文各类面试题

    在准备Java面试时,了解和掌握一系列核心知识点是至关重要的。以下是一些基于标题和描述中的关键...阅读提供的PDF资料,如"Java并发编程面试题八股文.pdf"和"Spring面试题八股文.pdf",将有助于巩固和扩展这些知识。

    2022最新java面试题大全

    Java 面试题大全 Java 是一种广泛使用的编程语言,本文总结了 Java 面试中常见的知识点,涵盖了 Java 基础、字符串操作、数据类型、运算符、抽象类等方面的知识。 Java 基础 1. JDK 和 JRE 的区别:JDK(Java ...

    Java后端面试题

    ### Java面试题知识点概览 #### 面向对象概念 1. **super()与this()的区别**: - `super()`用于调用父类的构造方法或父类成员方法。 - `this()`用于调用本类中的其他构造方法。 2. **作用域public, protected, ...

    字符串排序

    在Java中,可以通过多种方式实现字符串排序,包括但不限于使用内置的`Collections.sort()`方法(适用于可变字符序列如`ArrayList&lt;Character&gt;`)、自定义比较器以及编写专门的排序算法等。本案例采用了一种基于递归的...

    JAVA面试题最全集.pdf

    本文档概括了Java面试题的知识点,涵盖了Java基础知识、JSP&Servlet技术、J2EE相关知识、Web安全性、MVC、XML、structs、Session Bean、EJB、Java多线程、文件加密技术、软件开发生命周期、路由协议、Java AWT和...

Global site tag (gtag.js) - Google Analytics