Boy...recursion is indeed tough... Thanks alot.
On Feb 13, 3:07 pm, Oscar Mederos <[email protected]> wrote: > 2010/2/12 newbiecoder <[email protected]>: > > > > > I am having trouble mastering the concept of recursion...does anyone > > here have any advice / excellent articles to share??? > > > I don't understand how to create a recursion for this palindrome > > method given this format > > Palindrome(string str, int start, int end) > > > Not sure if the code below is the proper way. It does not work if > > 'end' is an odd number.... > > > public static bool Palindrome(string str, int start, int end) > > { > > bool result = false; > > > if (start == end) > > > { return true; } > > > else if (str[start] == str[end]) > > > { result = Palindrome(str, start + 1, end - 1); } > > > else > > result = false; > > > return result; > > > } > > Hi, > > You just need to verify if end is lower than start. > > It should be: > > public static bool Palindrome(string str, int start, int end) > { > bool result = false; > > if (start == end || end < start) > { > return true; > } > else if (str[start] == str[end]) > { > result = Palindrome(str, start + 1, end - 1); > } > else > { > result = false; > } > > return result; > } > > Take in count that if "str.Length" is even, you will never have "start > == end". On next recursive call, end will be lower than start, and it > means it checked all chars until that point and were equals, so it's a > palindrome string (start and end intersected). > > Sorry about my english. ;( > > -- > Oscar Mederos
