文章分类 - 算法-代码随想录
摘要:
问题描述 给定一个二叉搜索树的根节点 root 和一个值 key,删除二叉搜索树中的 key 对应的节点,并保证二叉搜索树的性质不变。返回二叉搜索树(有可能被更新)的根节点的引用。 一般来说,删除节点可分为两个步骤: 首先找到需要删除的节点; 如果找到了,删除它。 提示: 节点数的范围 [0, 10
阅读全文

摘要:问题描述 给定一个只包括 '(',')','{','}','[',']' 的字符串 s ,判断字符串是否有效。 有效字符串需满足: 左括号必须用相同类型的右括号闭合。 左括号必须以正确的顺序闭合。 每个右括号都有一个对应的相同类型的左括号 解题思路 利用栈来实现,当出现左括号时入栈,当出现右括号时看
阅读全文
摘要:问题描述 请你仅使用两个队列实现一个后入先出(LIFO)的栈,并支持普通栈的全部四种操作(push、top、pop 和 empty)。 实现 MyStack 类: void push(int x) 将元素 x 压入栈顶。 int pop() 移除并返回栈顶元素。 int top() 返回栈顶元素。
阅读全文
摘要:问题描述 请你仅使用两个栈实现先入先出队列。队列应当支持一般队列支持的所有操作(push、pop、peek、empty): 实现 MyQueue 类: void push(int x) 将元素 x 推到队列的末尾 int pop() 从队列的开头移除并返回元素 int peek() 返回队列开头的元
阅读全文
摘要:题目描述 给定一句英文,要求倒叙输出每一个单词,并删除单词两边冗余的空格(句子前面和后面没有空格,两个单词之间没有空格)。 注意:不可以使用额外的辅助空间,即原地修改字符串。 思路讲解 先去除多余的空格 将整个字符串进行反转 将每个单词进行反转 代码描述 class Solution { //1.去
阅读全文
摘要:题目描述 给定一个字符串s和一个整数k,从字符串开头算起,每计数至2k个字符,就反转这2k字符串中的前k个字符串。 如果剩余字符少于k个,则全部反转 如果剩余字符小于2k个但大于等于k个,则反转向k个字符,其余字符保持原样 思路讲解 int lop = length / (2*k); 将字符串以2k
阅读全文