检查数组是否为回文的伪代码

Pseudo-code to check if an array is a palindrome

我正在尝试编写一个 algorithm/pseudo-code 来使用 Stack 检查给定数组 A 是否为回文。

我们的方法是: - 将数组 a [left….right] 的元素“推”到新创建的堆栈上,这样左边的元素首先被推入。因此,数组元素被反转,使得数组的最后一个元素位于堆栈的顶部。

  • 之后,我们将 Stack 中的每个元素“弹出”到新创建的数组 b 中。这意味着原始数组 a 的最后一个元素成为新数组 b 的第一个元素。

  • 最后比较a和b的每个元素,如果相等,则原数组a是回文

算法步骤:

  1. 空栈S

  2. 左置l,右置r(数组a)

  3. 对于数组 a [l…r] 中的每个元素,重复: 3.1.添加元素到栈顶 S

  4. 创建一个新的空数组 b 使得 b [left…..right]

  5. 当栈S不为空时,重复: 5.1 从S的顶部取出每个元素到数组b

  6. 将数组 a 和 b 的 l 设置为左​​侧,r 设置为右侧。 6.1 如果a[左….右]≠b[左….右];以错误的答案终止 6.2 Else a [左...右] = b [左.....右];

  7. 终止,答案是回文。

呸!!!!