Java程序员笔试面试之String1

1.如何实现字符串的反转例如:“how are you”--->“you are how”

public class InverseString {
    public  void swap(char[] arr,int front,int end){//将char[]反转
    	 while(front<end){
    		char temp=arr[end];
    		 arr[end]=arr[front];
    		 arr[front]=temp;
    		 front++;
    		 end--;
    	 }
    }
    public String swapWords(String s){
    	char[] arr=s.toCharArray();//将字符串转化为char类型数组
    	swap(arr, 0, arr.length-1);//先将char[]反转
    	int begin=0;
    	for(int i=1;i<arr.length;i++){//只要遇到空格就将空格之前的单词反转
    		if("".equals(arr[i])){
    			swap(arr, begin, i-1);
    			begin=i+1;
    		}
    	}
    	swap(arr, begin, arr.length-1);//因为最后一位没有空格所以最后一个单词手动反转
    	return new String(arr);
    }

	public static void main( String[] args){
    	String s="how are you";
    	System.out.println(new InverseString().swapWords(s));

    }
}
时间: 2024-10-21 02:24:43

Java程序员笔试面试之String1的相关文章

Java程序员笔试面试之Java基础

1.==与equals与hashcode的区别作用 ①==是用来比较数值是否相等,也可以用来比较引用是否相等,也就是比较是否指向同一个对象. ②equals方法是Object提供的方法,因此每一个对象都有equals方法,他的实现也是通过==运算符实现的,所以在没有覆盖equals()方法的前提下,equals方法跟==是完全一样的 ③相比==运算符equals方法特殊之处就是他可以被覆盖,例如String,他可以比较2个独立对象的内容是否相等,例如: String s1=new String(

Java程序员笔试面试之java基础知识

1.finalize()方法的使用 2.Java程序初始化的顺序 3.Java中变量的类型 4.构造函数 5.为什么java中有些interface没有任何方法 6.java中的反射机制是什么 7.java中创建对象的方式有多少种 8.多态实现的机制是什么,编译时多态,运行时多态, 9.overload和override区别,以及各自的注意事项 10.abstract class和interface有什么区别

Java程序员笔试面试之String2

2.如何判断2个字符串是否有相同的字符组成 例如"aaaabbc"跟"abcbaaa" 2种思想 import java.lang.reflect.Array; import java.util.Arrays; //思想一:先将2个String排序,在比较,所谓2个字符串相等指的是构成string的字母以及个数一样,顺序可以不一样 public class TheSameString { public static void compare(String s1,St

Java程序猿笔试面试之String1

1.怎样实现字符串的反转比如:"how are you"--->"you are how" public class InverseString { public void swap(char[] arr,int front,int end){//将char[]反转 while(front<end){ char temp=arr[end]; arr[end]=arr[front]; arr[front]=temp; front++; end--; } }

Java程序员笔试面试之String5

.如何统计String中有多少个单词? public class CountWord { public static int countWord(String s){ int count=0; int word=0; for(int i=0;i<s.length();i++){ if("".equals(s.charAt(i))) word=0; else if(word==0) { word=1; count++; } } return count; } public stat

Java程序员笔试面试之String3

public class SameString { //思想二:每一个字符都对应着自己的ASC码,第一个思想的算法复杂度为O(nlogn),一般可以利用空间来降低时间复杂度 //可以开辟一个大小为256的数组空间,并且将256个数组元素都置为0,然后遍历第一个字符串把字符的ASC作为数组下标,数组元素都加1, //然后遍历第二个字符串将数组元素的各个值都减1,如果最后数组元素的值为0的话说明就是相同的字符串.此算法的时间复杂度为O(n) public static void compare(St

Java程序员笔试面试之String

1.如何实现字符串的反转例如:"how are you"--->"you are how" 2.如何判断2个字符串是否有相同的字符组成 例如"aaaabbc"跟"abcbaaa" 3.如何删除String中重复的字符good 4.如何统计String中有多少个单词 5.如何输出String的所有组合

Java程序员笔试面试之String4

如何删除String中重复的字符good? 思想一:蛮力法,进行双重循环,此算法的复杂度为O(n^2),n是指字符串的长度 public class RemoveSameChar { public static String removeDuplicate(String s){ char[] c=s.toCharArray(); for(int i=0;i<c.length;i++){ if(c[i]=='\0'){ continue; } for(int j=i+1;j<c.length;j

CSDN日报20170320——《Java 程序员的面试经历和题库》

[程序人生]Java 程序员的面试经历和题库 作者:nuaazhaofeng 最近打算换城市了,受不了北京的雾霾了,所以准备逃离啦.所以一直在面试中,整理了下最近遇到的一些面试题,供大家参考.其中会包含一些面试的小经验,如果您是面霸,希望能给予指导.自己不是大牛,如果您是大牛,也可以忽略之.我面试的岗位是Java后端开发工程师. [Python]7行Python代码的人脸识别 作者:半吊子全栈工匠 随着去年alphago 的震撼表现,AI 再次成为科技公司的宠儿.AI涉及的领域众多,图像识别中的