# 第二天(栈)

**创建时间：** *2020/7/20 17:07*

今天完成题目：1543，1631，1047，682

1543：两个栈实现队列

* 进队为栈A，进队操作直接压入A
* 出队为栈B，如果B不为空，直接出；如果A为空，说明队空；前面两个都不符合，则A倒入B。

1631：化栈为队

* 类似1543，但是增加了peek和empty函数。
* peek是队列中返回队首
* 出现一个数组操作失误，s\[:-1]和s\[-1]两个不一样，前者是直到倒数第二个，后者是只取最后一个。（错）
* 有些时候通过while可以快速实现某一种特殊的for循环\\

1047：重复删除重复的字符

* 每次字符放进之前和栈顶对比，相同则pop，不同则push\\

682：棒球比赛

* **isdigit()**
  * True:

    Unicode数字，byte数字（单字节），全角数字（双字节），罗马数字
  * False: 汉字数字
  * Error: 无
* **isdecimal()**
  * True: Unicode数字，，全角数字（双字节）
  * False: 罗马数字，汉字数字
  * Error: byte数字（单字节）
* **isnumeric()**
  * True: Unicode数字，全角数字（双字节），罗马数字，汉字数字
  * False: 无
  * Error: byte数字（单字节）\\
* 判断字符负数只能自己写：(num.startswith('-') and num\[1:] or

  num).isdigit()
* 当遇到一系列连续的操作时，可以考虑使用栈的方法。

�
