用栈翻转字符串

简介: 用栈翻转字符串

面试题

用栈翻转字符串

输入A1B2C3,返回3C2B1A

要求:只能用栈的 push pop 两个 API

技术要点

  • 栈 : 先进后出
  • 赋值操作是一种表达式,在条件语句中,只要赋值成功,则条件的求值结果就是true

参考答案

function stackReverseStr(str) {
  let stack = [];
  for (const char of str) {
    stack.push(char);
  }

  let result = "";
  let newChar = "";

  while ((newChar = stack.pop())) {
    result += newChar;
  }

  return result;
}

let a = "A1B2C 3";

let b = stackReverseStr(a);

console.log(b); // 打印 3C2B1A

目录
相关文章
|
13天前
|
算法 C语言
【数据结构与算法 经典例题】使用栈实现队列(图文详解)
【数据结构与算法 经典例题】使用栈实现队列(图文详解)
|
7天前
|
存储 缓存 算法
堆和栈的区别及应用场景
堆和栈的区别及应用场景
|
13天前
|
存储 测试技术
【数据结构】操作受限的线性表,栈的具体实现
【数据结构】操作受限的线性表,栈的具体实现
20 5
|
13天前
|
算法 C语言
【数据结构与算法 经典例题】使用队列实现栈(图文详解)
【数据结构与算法 经典例题】使用队列实现栈(图文详解)
|
14天前
|
算法
【C/数据结构和算法】:栈和队列
【C/数据结构和算法】:栈和队列
19 1
|
3天前
|
JavaScript
数据结构(用 JS 实现栈和队列【三种方式】)
数据结构(用 JS 实现栈和队列【三种方式】)
11 0
|
6天前
|
存储 缓存 算法
堆和栈的区别及应用场景
堆和栈的区别及应用场景
|
7天前
|
算法
数据结构与算法:栈与队列
数据结构与算法:栈与队列
|
10天前
|
存储 算法 调度
算法与数据结构-栈篇
算法与数据结构-栈篇
12 0
|
11天前
|
存储 人工智能 程序员
技术心得记录:堆(heap)与栈(stack)的区别
技术心得记录:堆(heap)与栈(stack)的区别