编程之美的一道题
写一个递归算法。求出字符串最长的连续字符的长度。例如“aaaabbbcc”输出4..”ab”输出1
import java.lang.reflect.Array;
import java.util.Arrays;
import java.util.HashMap;
public class Solution {
public static void main(String args[])
{
fun(str.charAt(0));
System.out.println(result);
}
static int currentIndex=0;
static int result=0;
static int startIndex=0;
static String str="ab";
static int fun(char c)
{
if(currentIndex>=str.length())
{
return 0;
}
if(c==str.charAt(currentIndex))
{
if(result<currentIndex-startIndex+1)
{
result=currentIndex-startIndex+1;
}
currentIndex++;
return 1+fun(c);
}
else
{
startIndex=currentIndex;
fun(str.charAt(currentIndex));
return 0;
}
}
}