2012-03-13 2 views
-4

이것은 단어가 회문인지 확인하는 코드이지만 시작하는 방법에 대한 단서가 없습니다. 난 정말이 방법재귀 palindrome 검사기

public static boolean pallindrome (String word1) { 

int count = 0; 
     for (int i=0; i< s1.length(); i++){ 
      if(s1.length/2 = 1) 
      return false; 
     } 
     if(count == s1.length()-1) 
      return true; 
    } 
    return false; 

나는이 방법

+0

* palindrome *의 정의가 있습니까? –

답변

4

음, 생각이 방법을 시작하는 방법에 대한 단서가 없다 도움이 필요

...

  • 당신이 만약 한 말을 가지고 있습니다. 정보를 끝 부분을 보면서 회문인지 여부를 알 수 있습니까?
  • 끝 부분을 살펴본 후에 문제를 어떻게 줄일 수 있습니까?
  • 완료되면 어떻게 알 수 있습니까?

0

회문 거꾸로 같은 전달 및 인 단어입니다 (그냥 ... 오히려 당신에게 전체 솔루션을 제공하는 것보다 조금 당신의 생각을 조종하려고). 모든 재귀 문제에는 기본 사례가 필요합니다. 귀하의 예제에서 기본 경우는 길이가 1 인 단어입니다. 길이가 1 인 단어는 항상 회문이됩니다.

function palindrome(String s) 
{ 
    if(s.length() == 1) 
    { 
     return true; 
    }  
    //Your code goes here 
} 

이제 완료 할 수있는 기능 발생합니다 palindrome 점진적으로 작은 문자열을 손으로해야합니다. 문자열의 색인을 사용하여 문자열을 더 작게 만들려고합니다.

1

모든 큰 회문에는 작은 회문이 있다고 생각합니다. 그 추론을 사용하면 재귀 알고리즘을 만들 수 있어야합니다.