【每日一题-6】栈和队列与替换空格

2023-05-16

两个栈实现一队列

class Queue
{
	void Push(int data)
	{
		inStack.push(data);
	}

	int Pop()
	{
		if (inStack.empty() && outStack.size())
			return -1;
		if (!outStack.empty())
		{
			while (!inStack.empty())
			{
				outStack.push(inStack.top());
				inStack.pop();
			}
			int top = outStack.top();
			outStack.pop();
			return ret;
		}

	}
private:
	stack<int> inStack;
	stack<int> outStack;
};

两个队列实现一个栈

class Stack
{
	void Push(int data)
	{
		inQueue.push(data);
	}

	int Pop()
	{
		while (inQueue.size() > 0)
		{
			outQueue.push(inQueue.front());
			inQueue.pop();
		}
		int Front = outQueue.front();
		outQueue.pop();
		return Front;
	}
protected:
	queue<int> inQueue;
	queue<int> outQueue;
};

空格替换

void ReplaceBlack(char* str,size_t n)
{
	if (str == NULL)
		return;
	int count = 0;
	for (size_t i = 0; i < n; i++)
	{
		if (*str == ' ')
			++count;
		++str;
	}
	int newLen = count * 2 + n;
	while (n >= 0 && newLen > n)
	{
		if (str[n - 1] == ' ')
		{
			str[newLen--] = '$';
			str[newLen--] = '$';
			str[newLen--] = '$';
		}
		else
		{
			str[newLen--] = str[n--];
		}
	}
}

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【每日一题-6】栈和队列与替换空格 的相关文章

  • 【每日一题-6】栈和队列与替换空格

    两个栈实现一队列 span style font family none font size 12px class Queue void Push int data inStack push data int Pop if inStack
  • 【每日一题-11】求二叉树高度/销毁一棵二叉树与链表翻转

    求二叉树的高度 span style font family none font size 12px int TreeDepth Node root if root 61 61 NULL return 0 if root gt left 6
  • 每日一题(力扣)计划

    983 最低票价 问题描述 在一个火车旅行很受欢迎的国度 xff0c 你提前一年计划了一些火车旅行 在接下来的一年里 xff0c 你要旅行的日子将以一个名为 days 的数组给出 每一项是一个从 1 到 365 的整数 火车票有三种不同的销
  • LeetCode每日一题

    191 位1的个数 难度简单290 编写一个函数 xff0c 输入是一个无符号整数 xff08 以二进制串的形式 xff09 xff0c 返回其二进制表达式中数字位数为 39 1 39 的个数 xff08 也被称为汉明重量 xff09 提示
  • Leetcode---面试题 08.03. 魔术索引---每日一题---二分查找

    面试题 08 03 魔术索引 魔术索引 在数组A 0 n 1 中 xff0c 有所谓的魔术索引 xff0c 满足条件A i 61 i 给定一个有序整数数组 xff0c 编写一种方法找出魔术索引 xff0c 若有的话 xff0c 在数组A中找
  • LeetCode每日一题(25)——最少移动次数使数组元素相等 II

    最少移动次数使数组元素相等 II 1 题目2 示例3 思路4 代码 1 题目 给定整数数组 nums 和整数 k xff0c 请返回数组中第 k 个最大的元素 请注意 xff0c 你需要找的是数组排序后的第 k 个最大的元素 xff0c 而
  • LeetCode每日一题(26)——高度检查器

    高度检查器 1 题目2 示例3 思路4 代码 1 题目 学校打算为全体学生拍一张年度纪念照 根据要求 xff0c 学生需要按照 非递减 的高度顺序排成一行 排序后的高度情况用整数数组 expected 表示 xff0c 其中 expecte
  • ( 数组和矩阵) 645. 错误的集合 ——【Leetcode每日一题】

    645 错误的集合 难度 xff1a 简单 集合 s 包含从 1 到 n 的整数 不幸的是 xff0c 因为数据错误 xff0c 导致集合里面某一个数字复制了成了集合里面的另外一个数字的值 xff0c 导致集合 丢失了一个数字 并且 有一个
  • Leetcode每日一题——“链表的中间结点”

    各位CSDN的uu们你们好呀 xff0c 今天 xff0c 小雅兰愉快的刷题内容是链表的中间结点 嘿嘿 xff0c 小雅兰的单链表还在偷懒ing xff0c 一直没有更新 xff0c 最近应该会更新出来 下面 xff0c 就让我们进入链表的
  • 蓝桥杯——青蛙过河(JAVA)

    题目 小青蛙住在一条河边 它想到河对岸的学校去学习 小青蛙打算经过河里 的石头跳到对岸 河里的石头排成了一条直线 小青蛙每次跳跃必须落在一块石头或者岸上 不过 每块石头有一个高度 每次小青蛙从一块石头起跳 这块石头的高度就 会下降 1 当石
  • “蓝桥杯总结”

    历时一个学期第十四届蓝桥杯也算是落下帷幕了 我报的是java B组从什么都不懂到省一 自己都觉得不可思议 再到国优 优秀奖也就是安慰奖 这一次参赛虽然国赛等于没拿奖 但对我而言已经很满意了 正经总结可能还要说点经验什么的 但我备赛确实没什么
  • 【每日一题】跳跃游戏 (来源leetcode 55)

    给定一个非负整数数组 nums 你最初位于数组的 第一个下标 数组中的每个元素代表你在该位置可以跳跃的最大长度 判断你是否能够到达最后一个下标 示例 1 输入 nums 2 3 1 1 4 输出 true 解释 可以先跳 1 步 从下标 0
  • Python:最低要求

    描述 体育老师以小组为单位 考查大家的仰卧起坐的成绩 只要一个小组所有人仰卧起坐的个数之和 达到老师的要求 则整个小组就算过关 因此 程序会接收这样两个信息 一个是小组成绩清单 一个是老师的个数要求 只要小组成绩达到或超过老师的个数要求 程
  • Python:回文日期问题

    每日一题 目录 每日一题 文章目录 前言 一 题目描述 二 输入描述 三 输出描述 1 引入库 2 执行结果 datetime模块的用法 flag的用法 replace 方法 参数 总结 前言 本文章重点讲述回文日期问题 在其中介绍用到的函
  • 每日一题:7. 分糖果(C++)

    每日一题 7 分糖果 C 题目 Alice 有 n 枚糖 其中第 i 枚糖的类型为 candyType i Alice 注意到她的体重正在增长 所以前去拜访了一位医生 医生建议 Alice 要少摄入糖分 只吃掉她所有糖的 n 2 即可 n
  • 蓝桥杯——数组切分(JAVA)

    题目 已知一个长度为 N 的数组 A1 A2 A3 AN 恰好是 1 N 的一个排列 现 在要求你将 A 数组切分成若干个 最少一个 最多 N 个 连续的子数组 并且 每个子数组中包含的整数恰好可以组成一段连续的自然数 例如对于 A 1 3
  • Python:统计子矩阵(前缀和、尺取法)

    问题描述 给定一个 N M 的矩阵 A 请你统计有多少个子矩阵 最小 1 1 最大 N M 满足子矩阵中所有数的和不超过给定的整数 K 输入格式 第一行包含三个整数 N M 和 K 之后 N 行每行包含 M 个整数 代表矩阵 A 输出格式
  • 【晓龙oba出品 - 黑科技解题系列】- 最小操作次数使数组元素相等

    题目链接 453 最小操作次数使数组元素相等 思路 算法归根到底就是找规律的游戏 我们首先来看一个现象 以数组nums 1 2 3 4 5 为例 当我们将数组排序后 可以知道最小值为1 最大值为5 此时我们需要四次运算可以使最小值与最大值相
  • 【每日一题】leetcode 二叉树层序遍历 - 介绍

    层序遍历 遍历顺序为 F B G A D I C E H 一层一层遍历 代码 import java util ArrayList import java util LinkedList import java util List impo
  • leetcode-合并两个有序链表(详解)

    合并两个有序链表 前言 一 题链接 题意 题思路 题思路图解 题代码 总结 前言 路漫漫及修远兮 一 题链接 题意 将两个升序链表合并为一个新的 升序 链表并返回 新链表是通过拼接给定的两个链表的所有节点组成的 输入 l1 1 2 4 l2

随机推荐

  • 【网络】网络基础知识总结

    谈到网络 xff0c 首先就需要知道计算机网络中的两个参考模型 xff0c 即OSI参考模型 与TCP IP参考模型 OSI参考模型 OSI xff08 Open System Interconnect xff09 xff0c 即开放式系统
  • 【程序员面试宝典】数组相关面试题

    1 像素翻转 有一副由NxN矩阵表示的图像 xff0c 这里每个像素用一个int表示 xff0c 请编写一个算法 xff0c 在不占用额外内存空间的情况下 即不使用缓存矩阵 xff0c 将图像顺时针旋转90度 给定一个NxN的矩阵 xff0
  • 浅析TCP协议中的各种定时器

    TCP在建立连接之后可能会启动四个定时器 重传计时器 xff1a Retransmission Timer 坚持计时器 xff1a Persistent Timer 保活计时器 xff1a Keeplive Timer 时间等待计时器 xf
  • 【程序员面试宝典】字符串相关面试题

    1 确定字符互异 请实现一个算法 xff0c 确定一个字符串的所有字符是否全都不同给定一个string iniString xff0c 请返回一个bool值 True代表所有字符全都不同 xff0c False代表存在相同的字符 保证字符串
  • 【程序员面试宝典】链表相关面试题

    1 链表中的第k个节点 题目描述 xff1a 输入一个链表 xff0c 输出该链表中倒数第k个结点 struct ListNode span class hljs built in int span val struct ListNode
  • 【网络】网络端口号分类

    在开始之前有必要先说一下为什么要网络要对对端口号进行细分 xff0c 而像常见的端口号之间又是什么东西 xff0c 有什么作用 xff0c 为什么要学习端口号相关的知识 xff0c 带着这些疑问 xff0c 下面开始今天知识的学习 在我学习
  • TCP协议中的URG和PSH位

    相关背景知识 http blog csdn net double happiness article details 74025156 在探讨TCP协议中的URG和PSH控制位时 xff0c 我们先来简单的复习一下TCP协议 URG xff
  • 问答QA(一)综述

    声明 xff1a 本文是综合网上问答系统介绍 xff0c 做的总结 xff0c 如有侵权 xff0c 请联系处理 xff0c 谢谢 一 问答系统架构 1 1 问题分析模块 负责对用户的提问进行处理 xff1b 生成查询关键词 xff08 提
  • 【程序员面试宝典】栈和队列相关面试题

    1 集合栈 题目描述 xff1a 请实现一种数据结构SetOfStacks xff0c 由多个栈组成 xff0c 其中每个栈的大小为size xff0c 当前一个栈填满时 xff0c 新建一个栈 该数据结构应支持与普通栈相同的push和po
  • 【程序员面试宝典】栈的应用

    1 下一个较大元素 现在我们有一个int数组 xff0c 请你找出数组中每个元素的下一个比它大的元素 给定一个int数组A及数组的大小n xff0c 请返回一个int数组 xff0c 代表每个元素比他大的下一个元素 若不存在则为 1 保证数
  • time_wait与面试的暧昧

    背景知识 TCP三次握手与四次挥手 http blog csdn net double happiness article details 70160738 time wait是什么 xff1f 通过上面三次握手和四次挥手的学习 xff0c
  • 【通信方式五】socket编程之TCP通信

    1 网络字节序 网络字节序就是熟知的关于大小端的问题 xff0c 关于前面的大小端的判断方法 xff0c 以及代码实现再此就不在赘述 xff0c 下面只谈网络中的字节序问题 xff08 如何判定当前机器的大小端 xff1a http blo
  • 【通信方式六】socket编程之UDP通信

    相关博客 通信方式五 socket编程之TCP http blog csdn net double happiness article details 74938008 由于TCP协议是可靠的面向连接的协议 xff0c 因此在服务器端需要执
  • shell下的第一个编程(不一样的1到100累加)

    相信对于一个程序 猿 来说 xff0c 除了我们入门的 hello world 之外 xff0c 最简单的代码就是只有从1累加到100这样简单的程序吧 xff0c 没错这样的程序在现在来看或许根本不如我们的法眼 xff0c 那么问题来了 x
  • 【每日一题-1】有序链表合并与累加和问题

    基础题 合并两个有序链表 xff0c 合并以后的链表依旧有序 思路 xff1a xff08 1 xff09 特殊情况处理 xff1a 若两个链表都为则返回空 xff0c 若其中一个链表为空返回另外一个链表的头结点 xff1b xff08 2
  • 【每日一题-2】链表基础面试题

    1 查找链表的倒数第k个节点 span style font family none font size 12px ListNode FindKthToTail ListNode pListHead unsigned int k if pL
  • 【每日一题-3】链表带环问题

    判断链表是否带环 xff1f 如果带环 xff0c 环的长度是多少 xff1f 环的入口节点是什么 xff1f span style font family none font size 12px struct ListNode int v
  • Linux更改镜像源

    https mirrors tuna tsinghua edu cn span class token comment 清华大学镜像源 span span class token comment 1 搜索Ubuntu span span c
  • 【每日一题-5】复杂链表的复制

    逆序打印单链表 span style font family none font size 12px void ReversePrintList listNode pHead if pHead 61 61 NULL return NULL
  • 【每日一题-6】栈和队列与替换空格

    两个栈实现一队列 span style font family none font size 12px class Queue void Push int data inStack push data int Pop if inStack