《Java数据结构与算法》笔记-CH4-2用栈实现字符串反转
来源:互联网 发布:大华onvif端口号 编辑:程序博客网 时间:2024/06/11 19:27
import java.io.BufferedReader;import java.io.InputStreamReader;//用栈来实现一个字符串逆序算法/** * 数据结构:栈 */class StackW{private int maxSize;private char[] stackArray;private int top;public StackW(int max){maxSize = max;stackArray = new char[maxSize];top = -1;}public void push(char c){stackArray[++top] = c;}public char pop(){return stackArray[top--];}public char peek(){return stackArray[top];}public boolean isEmpty(){return (top == -1);}public boolean isFull(){return (top == maxSize);}}/** * 反转类 */class Reverser{private String input;private StringBuilder output;public Reverser(String in){input = in;output = new StringBuilder();}/** * 使用定义的栈来进行字符串的反转 * @return */public String doReverse(){int stackSize = input.length();StackW s = new StackW(stackSize);for(int j= 0;j<stackSize;j++){char c = input.charAt(j);s.push(c);}while(!s.isEmpty()){char ch = s.pop();output.append(ch);}return output.toString();}}public class WordReverse {public static void main(String[] args) throws Exception {String input, output;while(true){System.out.println("Enter a string");System.out.flush();input = getString();if(input.equals(""))break;Reverser re = new Reverser(input);output = re.doReverse();System.out.println("reversed:"+output);}}/** * 从键盘读字符串 * @return * @throws Exception */public static String getString() throws Exception{InputStreamReader isr = new InputStreamReader(System.in);BufferedReader br = new BufferedReader(isr);String s = br.readLine();return s;}}
0 0
- 《Java数据结构与算法》笔记-CH4-2用栈实现字符串反转
- 《Java数据结构与算法》笔记-CH4-1栈的实现
- 《Java数据结构与算法》笔记-CH4-3用栈实现分隔符匹配
- 《Java数据结构与算法》笔记-CH4-6栈结构实现中缀转后缀
- 《java数据结构与算法》笔记-CH4-8栈结构实现后缀表达式计算结果
- 《Java数据结构与算法》笔记-CH4-4循环队列
- 《Java数据结构与算法》笔记-CH4-6优先级队列
- 《Java数据结构与算法》笔记-CH4-5不带计数字段的循环队列
- 数据结构与算法分析笔记与总结(java实现)--字符串2:左旋转字符串
- 数据结构与算法分析笔记与总结(java实现)--链表3:链表反转问题
- 数据结构与算法-字符串反转
- 数据结构与算法分析笔记与总结(java实现)--字符串1:字符串的排列(*)
- 数据结构与算法分析笔记与总结(java实现)--字符串3:把字符串转换成整数
- 数据结构与算法分析笔记与总结(java实现)--字符串4:表示数值的字符串
- 数据结构与算法分析笔记与总结(java实现)--字符串8:字符串移位练习题
- 数据结构与算法分析笔记与总结(java实现)--字符串面试指南
- 数据结构与算法分析笔记与总结(java实现)--字符串5:词语变形练习题
- 数据结构与算法分析笔记与总结(java实现)--字符串6:两串旋转练习题(*)
- 《Java数据结构与算法》笔记-CH1
- 《Java数据结构与算法》笔记-CH2无序数组
- 《Java数据结构与算法》笔记-CH2有序数组
- 《Java数据结构与算法》笔记-CH3简单排序
- 《Java数据结构与算法》笔记-CH4-1栈的实现
- 《Java数据结构与算法》笔记-CH4-2用栈实现字符串反转
- AndroidToggleSwitch的使用
- APK文件结构以及反编译
- DialogBox和DialogBoxParam函数
- java表达式问题 长整除
- EndDialog函数
- DestroyWindow函数
- LoadString、LoadIcon和LoadCursor函数
- SetWindowLongPtr和GetWindowLongPtr函数