再帰で最大コールスタックサイズを超えました

アレン

タイトルが示すように、私はJavaScriptの問題を再帰的に解決しようとしていました。私のインターネットプログラミングクラスの演習は、関数に入力された文字列を反転することでした。これは、再帰を使用してこれを解決する良い機会であると考えました。私のコード:

function reverseStr(str){
  str = Array.from(str);
  let fliparray = new Array(str.length).fill(0);
  let char = str.slice(-1);
  fliparray.push(char);
  str.pop();
  str.join("");
  return reverseStr(str);
}
writeln(reverseStr("hello"))
JLRishe

最大の問題は、関数にエンド(ベース)ケースがないことです。いつ停止するかを認識する方法が必要です。そうしないと、永久に再発します。

2番目の問題は、実際には再帰的に考えていないように見えることです。文字列にいくつかの変更を加えていますが、変更された文字列reverseStr()をもう一度呼び出すだけで、プロセスが最初からやり直されます。

以下は実際にはあなたの試みに似ていませんが(私はあなたの試みを救う方法がわかりません)、それは逆文字列アルゴリズムを再帰的に実装する簡単な方法です。

function reverseStr(str) {
  // string is 0 or 1 characters. nothing to reverse
  if (str.length <= 1) {
    return str;
  }

  // return the first character appended to the end of the reverse of 
  // the portion after the first character
  return reverseStr(str.substring(1)) + str.charAt(0);
}

console.log(reverseStr("Hello Everybody!"));

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

Redis再帰:最大コールスタックサイズを超えました

分類Dev

RangeError:Twigで最大コールスタックサイズを超えました

分類Dev

RangeError:Angularjsで最大コールスタックサイズを超えました

分類Dev

再帰関数で最大呼び出しスタックサイズを超えました

分類Dev

「最大コールスタックサイズを超えました」エラー

分類Dev

VueJS "RangeError:最大コールスタックサイズを超えました"

分類Dev

Node.js-最大コールスタックサイズを超えました

分類Dev

最大コールスタックサイズを超えました

分類Dev

ReactNative-最大コールスタックサイズを超えました

分類Dev

GoogleColaboratory-最大コールスタックサイズを超えました

分類Dev

VueJsの最大コールスタックサイズを超えました

分類Dev

Angular HttpInterceptor RangeError:最大コールスタックサイズを超えました

分類Dev

RangeError:最大コールスタックサイズを超えました(Babel Ramda)

分類Dev

js Uncaught RangeError:最大コールスタックサイズを超えました

分類Dev

async.detect最大コールスタックサイズを超えました

分類Dev

React: Uncaught RangeError: 最大コール スタック サイズを超えました

分類Dev

JS jqueryrangeError-最大コールスタックサイズを超えました

分類Dev

Karma Uncaught RangeError:最大コールスタックサイズを超えました

分類Dev

最大コールスタックサイズを超えました-Vue.js

分類Dev

Firebase RangeError:最大コールスタックサイズを超えました

分類Dev

最大コールスタックサイズがjquerycytoscapeを超えました

分類Dev

ajax RangeError:最大コールスタックサイズを超えました

分類Dev

AngularCLIを使用したビルドで最大コールスタックサイズを超えました

分類Dev

範囲エラー:GoogleマップAPIで最大コールスタックサイズを超えました

分類Dev

setTimeoutループで最大コールスタックサイズを超えました

分類Dev

最大コールスタックサイズを超えました。ダイアログで開く

分類Dev

nodejsで最大コールスタックサイズがエラーを超えました

分類Dev

javascript再帰関数:Uncaught RangeError:最大呼び出しスタックサイズを超えました

分類Dev

RangeError:array.push(...)で最大コールスタックサイズを超えました

Related 関連記事

  1. 1

    Redis再帰:最大コールスタックサイズを超えました

  2. 2

    RangeError:Twigで最大コールスタックサイズを超えました

  3. 3

    RangeError:Angularjsで最大コールスタックサイズを超えました

  4. 4

    再帰関数で最大呼び出しスタックサイズを超えました

  5. 5

    「最大コールスタックサイズを超えました」エラー

  6. 6

    VueJS "RangeError:最大コールスタックサイズを超えました"

  7. 7

    Node.js-最大コールスタックサイズを超えました

  8. 8

    最大コールスタックサイズを超えました

  9. 9

    ReactNative-最大コールスタックサイズを超えました

  10. 10

    GoogleColaboratory-最大コールスタックサイズを超えました

  11. 11

    VueJsの最大コールスタックサイズを超えました

  12. 12

    Angular HttpInterceptor RangeError:最大コールスタックサイズを超えました

  13. 13

    RangeError:最大コールスタックサイズを超えました(Babel Ramda)

  14. 14

    js Uncaught RangeError:最大コールスタックサイズを超えました

  15. 15

    async.detect最大コールスタックサイズを超えました

  16. 16

    React: Uncaught RangeError: 最大コール スタック サイズを超えました

  17. 17

    JS jqueryrangeError-最大コールスタックサイズを超えました

  18. 18

    Karma Uncaught RangeError:最大コールスタックサイズを超えました

  19. 19

    最大コールスタックサイズを超えました-Vue.js

  20. 20

    Firebase RangeError:最大コールスタックサイズを超えました

  21. 21

    最大コールスタックサイズがjquerycytoscapeを超えました

  22. 22

    ajax RangeError:最大コールスタックサイズを超えました

  23. 23

    AngularCLIを使用したビルドで最大コールスタックサイズを超えました

  24. 24

    範囲エラー:GoogleマップAPIで最大コールスタックサイズを超えました

  25. 25

    setTimeoutループで最大コールスタックサイズを超えました

  26. 26

    最大コールスタックサイズを超えました。ダイアログで開く

  27. 27

    nodejsで最大コールスタックサイズがエラーを超えました

  28. 28

    javascript再帰関数:Uncaught RangeError:最大呼び出しスタックサイズを超えました

  29. 29

    RangeError:array.push(...)で最大コールスタックサイズを超えました

ホットタグ

アーカイブ