2015-02-01 2 views
0

* 사전에이 질문의 레이아웃을 사과드립니다. 오버플로 스택을 새로 도입했습니다.스택을 사용하여 배열 반전?

저는 Java의 초보자이며 스택을 사용하여 배열을 뒤집어 썼습니다. 그러나 "arr [i] = stack.top() :"오류가 발생하고 이클립스에서 해결할 제안은 ".pop();"로 변경하는 것입니다. 또는 캐스트를 추가 할 수 있습니다. 이것에 대해 다른 방법이 있습니까? 아니면 내가 실수 한거야?

스택을 사용하여 문자열을 뒤집는 방법을 묻는 질문과 동일한 논리를 사용하여 배열을 뒤집어 쓴 방법에 대해 묻는 질문이 있지만 어디에서 잘못 될지 잘 모르겠습니다. 자바의 Stack에 존재하지 않는 top

public static void reverse(String[] arr){ 

    Stack stack = new Stack(); 


    for(int i = 0; i < arr.length; i++) {   
     stack.push(arr[i]); 

    } 
    for(int i = 0; i <arr.length;i++) { 
     arr[i] = stack.top(); 
     stack.pop(); 

    } 
    return; 
} 

답변

3

스택을 팝하면 맨 위에있는 오브젝트를 반환하고 스택에서 제거합니다. 사용해보기 :

public static void reverse(String[] arr){ 

    Stack stack = new Stack();  

    for(int i = 0; i < arr.length; i++) {   
     stack.push(arr[i]); 

    } 
    for(int i = 0; i <arr.length;i++) { 

     arr[i] = stack.pop();  
    } 
}