文档章节

字符串全排列

哭哭吓唬你
 哭哭吓唬你
发布于 2013/11/15 13:13
字数 324
阅读 28
收藏 0
public class StringPermutation {

	/**
	 * 方法名称:main()
	 * 方法描述:
	 * @param  
	 * @return String    
	 * @Exception 
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub

		char[] ch = "aba".toCharArray();
		permutation(ch, 0);
	}
	
	private static boolean isSwap(char[] s, int begin, int end){
		
		for(int i=begin;i<end;i++){
			if(s[i] == s[end]){
				return false;
			}
		}
		return true;
	}
	
	/**
	 * 方法名称:permutation()
	 * 方法描述:index:当前第几个数, size:共有多少个数
	 * @param  
	 * @return String    
	 * @Exception 
	 */
	public static void permutation(char[] s, int index){
		if(index >= s.length){
			System.out.println(new String (s));
		}else{
			//begin 与其后面的字符进行交换
			for(int i=index;i<s.length;i++){
				if(isSwap(s, index, i)){
					swap(s, index, i);
					permutation(s, index+1);
					swap(s, index, i);
					
				}
			}
		}
	}
	
	public static void swap(char[] s,int i, int j){
		char temp = s[i];
		s[i] = s[j];
		s[j] = temp;
	}

}
参考:http://blog.csdn.net/hackbuteer1/article/details/7462447
 



© 著作权归作者所有

共有 人打赏支持
哭哭吓唬你
粉丝 3
博文 98
码字总数 39471
作品 0
石景山
程序员
STL系列之十 全排列(百度迅雷笔试题)

全排列在笔试面试中很热门,因为它难度适中,既可以考察递归实现,又能进一步考察非递归的实现,便于区分出考生的水平。所以在百度和迅雷的校园招聘以及程序员和软件设计师的考试中都考到了,...

彭博
2012/04/12
379
0
STL系列之十 全排列(百度迅雷笔试题)

全排列在笔试面试中很热门,因为它难度适中,既可以考察递归实现,又能进一步考察非递归的实现,便于区分出考生的水平。所以在百度和迅雷的校园招聘以及程序员和软件设计师的考试中都考到了,...

长平狐
2012/12/10
69
0
确定某字符串的所有排列组合

/** * 功能:确定某字符串的所有排列组合。 / 注意:不考虑重复字符。若考虑重复字符,只需在加入permulations时去掉重复的字符串即可。 [java] view plain copy /* * 思路:元素由少到多,将...

一贱书生
2016/11/22
4
0
剑指Offer-29-字符串的排列

题目 输入一个字符串,按字典序打印出该字符串中字符的所有排列。例如输入字符串abc,则打印出由字符a,b,c所能排列出来的所有字符串abc,acb,bac,bca,cab和cba。 注意:字符可能重复! 比如,a...

SpecialYang
07/23
0
0
全排列(含递归和非递归的解法)

作者:bakari 时间:2012.8.2-23:48 转载请注明出处:http://www.cnblogs.com/bakari/archive/2012/08/02/2620826.html 谢谢! 全排列在近几年各大网络公司的笔试中出现的比较频繁 首先来看看...

chambai
2012/08/02
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

这些Spring中的设计模式,你都知道吗?

设计模式作为工作学习中的枕边书,却时常处于勤说不用的尴尬境地,也不是我们时常忘记,只是一直没有记忆。 Spring作为业界的经典框架,无论是在架构设计方面,还是在代码编写方面,都堪称行...

Java填坑之路
31分钟前
1
0
Spring Aop原理之Advisor过滤

在上文(Spring Aop之Advisor解析)中我们讲到,Spring Aop对目标bean的代理主要分为三个步骤:获取所有的Advisor,过滤当前bean可应用的Advisor和使用Advisor为当前bean生成代理对象,并且上文...

爱宝贝丶
42分钟前
0
0
JMockit学习教程

1 JMockit中文网 我觉得如果仅仅是开发自测的话,把JMockit中文网认真看一遍,就可以在项目中使用JMockit了。 http://jmockit.cn/index.htm 2 JMockit中文教程 官方文档中文版。对于不喜欢看...

SuperHeroes
54分钟前
0
0
Linux服务器几乎从不采用Arch Linux?

我们见得多的Linux服务器系统一般都是什么Ubuntu Server啊,什么Cent OS啊,什么Fedora啊,或者企业采用的Red Hat啊,为什么几乎没有Arch Linux呢?下面我将从若干个方面指出Arch Linux在服务...

linux-tao
今天
0
0
js 函数柯里化 闭包

参考 https://mp.weixin.qq.com/s/GEHL3jarDdAAcr5tQGjmDg 一个统计求和的函数 需要知道整个数组的信息,然后遍历求值 function countMoney() { let money = 0 // 温馨提示:arguments...

阿豪boy
今天
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部