Debug of a very simple recursion problem

The idea of the problem is to reverse a character array using recursion.
1. Write a function called charReversal with the following function signature:
1 f u n c ti o n a r r a y 2 = c h a r R e v e r s al ( a r r a y 1 )
where array1 is the input character array, and array2 is the reversal of array1. For example, charReversal(’abcde’) should return ’edcba’.
My answer:
function array2 = charReversal(array1)
%arrary1 is the input character array
%arrary2 is the reversal of array1
if numel(array1)<2
array2 = array1;
else
array2 = reverse(array1);
end
Question: I don't know where to to put the base case, what the base case should be.
Thank you very much.

回答 (1 件)

Walter Roberson
Walter Roberson 2017 年 10 月 21 日

0 投票

if numel(array1)<2
array2 = array1;
is already handling the base case. But the rest of your code needs to be developed to use recursion.

2 件のコメント

Meowooo
Meowooo 2017 年 10 月 21 日
How could I add the recursion then? I thought it was in recursion already.
Walter Roberson
Walter Roberson 2017 年 10 月 21 日
The function does not call itself, and does not call any function that calls the function, so No, it is not already recursive.
Hint:
What happens if you remove one character and reverse the rest, and then somehow combine the one removed character with what was returned from reversing the rest?

サインインしてコメントする。

カテゴリ

質問済み:

2017 年 10 月 21 日

コメント済み:

2017 年 10 月 21 日

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by