利用栈的特性,实现简单的置换
package net.as.cn;
import java.util.Stack;
/**
* 2013.3.22 am
* 置换算法
* @author chenas
*
*/
public class MyZhiHuan
{
/**
* 加密解密算法
* @param miOrMingWen
* 明文或者密文
* @return
*/
public String code(String miOrMingWen)
{
Stack<String> stack = new Stack<String>();
StringBuffer sBff = new StringBuffer();
String[] words = miOrMingWen.split("");
for(int i=0; i<words.length; i++)
{
stack.push(words[i]); //入栈
}
while(!stack.isEmpty())
{
String word = stack.pop();
char[] chars = word.toCharArray();
Stack<Character> _stack = new Stack<Character>();
for(int i=0; i<chars.length; i++)
{
_stack.push(chars[i]);
}
while(!_stack.isEmpty())
{
sBff.append(_stack.pop());
}
}
return sBff.toString();
}
public static void main(String[] args)
{
String test = "you are an amazing guy";
MyZhiHuan mz = new MyZhiHuan();
String miw = mz.code(test);
System.out.println(miw);
String mw = mz.code(miw);
System.out.println(mw);
}
}