티스토리 뷰

Stack

  • 스택으로 reverseString 구현
package adt;
// Stack 클래스
public class Stack {
	private char [] myStack; 
	private int maxSize; 
	private int top = -1; 
	
	Stack(int s) {
		this.maxSize = s;
		myStack = new char [maxSize]; 
	}
	
	public void push(char i) {
		top++;
		myStack[top] = i;
	}
	
	public char pop() {
		int old_top = top; 
		top--; 
		return myStack[old_top];
	}
	
	public boolean isEmpty() {
		if(top == -1) {
			return true; 
		} 
		return false; 
	}
	
	public boolean isFull() {
		if(top == maxSize) {
			return true;
		} 
		return false;
	}
	
	public int getTop() {
		return top;
	}
}

// 메서드를 통한 출력
package adt;

public class App {

	public static void main(String[] args) {
		System.out.println(reverseStr("hello"));
	}
	
	public static String reverseStr(String str) {
		int len = str.length(); 
		Stack stack = new Stack(len); 
		for(int i = 0 ; i < len ; i++) {
			char ch = str.charAt(i);
			stack.push(ch);
		}
		String result = "";
		while(!stack.isEmpty()) {
			result += stack.pop(); 
		}
		return result; 
	}
}

 

'Data Structure & Algorithm' 카테고리의 다른 글

[Java] LinkedList  (0) 2019.05.31
[Java] Queue  (0) 2019.05.27
자바_셀프넘버  (0) 2019.05.15
자바_빠른 A+B  (0) 2019.05.13
JS_스킬트리  (0) 2019.05.03
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함