【Leetcode】1324. Print Words Vertically
题目地址:
https://leetcode.com/problems/print-words-vertically/
给定一个英文句子,单词以空格分隔,要求按照竖着的顺序遍历单词,将每一列存入结果后返回。每一列开头长度不够用空格补,但尾端的空格需要去掉。
直接按照要求做即可,竖着遍历单词。代码如下:
class Solution {public:vector<string> printVertically(string s) {vector<string> res;for (int i = 0, x = 0, y = 0; i < s.size(); i++) {if (s[i] == ' ') continue;// 遇到一个新单词,将其竖着放进答案里x = 0;int j = i;while (j < s.size() && s[j] != ' ') {if (res.size() <= x) res.push_back("");while (res[x].size() < y) res[x] += ' ';res[x] += s[j++];x++;}y++;i = j;}return res;}
};
时间复杂度O(n)O(n)O(n),空间O(1)O(1)O(1)。
【Leetcode】1324. Print Words Vertically相关推荐
- 【leetcode】486. Predict the Winner
题目如下: Given an array of scores that are non-negative integers. Player 1 picks one of the numbers fro ...
- 【leetcode】132. Palindrome Partitioning II
题目如下: 解题思路:本题是[leetcode]131. Palindrome Partitioning的升级版,要求的是求出最小cuts,如果用[leetcode]131. Palindrome P ...
- 【leetcode】41. First Missing Positive
题目如下: 解题思路:这题看起来和[leetcode]448. Find All Numbers Disappeared in an Array很相似,但是有几点不同:一是本题的输入存在负数,二是没有 ...
- 【LeetCode】剑指 Offer 38. 字符串的排列
[LeetCode]剑指 Offer 38. 字符串的排列 文章目录 [LeetCode]剑指 Offer 38. 字符串的排列 package offer;import java.util.Hash ...
- 【LeetCode】剑指 Offer 35. 复杂链表的复制
[LeetCode]剑指 Offer 35. 复杂链表的复制 文章目录 [LeetCode]剑指 Offer 35. 复杂链表的复制 package offer;import java.util.Ar ...
- 概率p输出1,概率1-p输出0,等概率输出0和1 【LeetCode】470. rand7()构造rand10() 系列变形(新浪、字节面试题)
目录 1. 等概率输出0和1 1.1 题目描述 1.2 解题思路 & 代码 2. 以 1/N 的概率返回 1~N 之间的数 3. 给定函数rand5() 构造rand7() 或 rand7() ...
- 【Leetcode】100. 相同的树
题目 给定两个二叉树,编写一个函数来检验它们是否相同. 如果两个树在结构上相同,并且节点具有相同的值,则认为它们是相同的. 示例 1: 输入: 1 1/ \ / \2 3 2 3[1,2,3], [1 ...
- 【leetcode】85. Maximal Rectangle 0/1矩阵的最大全1子矩阵
1. 题目 Given a 2D binary matrix filled with 0's and 1's, find the largest rectangle containing only 1 ...
- 【leetcode】86. Partition List
题目如下: Given a linked list and a value x, partition it such that all nodes less than x come before no ...
- 【Leetcode】103. 二叉树的锯齿形层次遍历
题目 给定一个二叉树,返回其节点值的锯齿形层次遍历.(即先从左往右,再从右往左进行下一层遍历,以此类推,层与层之间交替进行). 例如: 给定二叉树 [3,9,20,null,null,15,7], 3 ...
最新文章
- hadoop 添加删除机器以及设置免密登录
- Django web框架-----Django连接现有mysql数据库
- 学Redis这篇就够了!
- 深入理解RunLoop(转载)
- [leetcode] 72. 编辑距离(二维动态规划)
- OpenSolaris北京用户组的第一次活动
- 45 FI配置-财务会计-固定资产-一般评估-指定折旧条件转移
- 大于3小于4的整数bleem_[电影点评]3和4之间还有整数吗?疯子数学家发现,只要证明出来就能穿越今天为大家带来一部只要证明3和4之间还有一个整数就能穿越时空的科幻悬疑片《隐匿的数字》 故...
- 如何查看linux中的ssh端口开启状态
- 在Linux下使用dnw和u-boot烧写系统
- jsp___jstl标签
- java中修改对象类的数据_Java中创建对象的六个步骤 细分后(new关键字)对象头详细介绍...
- 使用 webSocket 连接菜鸟打印(并获取当前电脑连接的打印机信息)
- Java实现二值化处理图像
- 立创EDA学习笔记(2)——创建元件符号
- Windows 10内置Hyper-V虚拟机安装XP系统(二) - 配置网络
- DeepMD安装及Unbuntu下Nvidia显卡升级(防跳坑)
- 谁先倒(15 分) 划拳是古老中国酒文化的一个有趣的组成部分。酒桌上两人划拳的方法为:每人口中喊出一个数字,同时用手比划出一个数字。如果谁比划出的数字正好等于两人喊出的数字之和,谁就输了,输家罚一杯酒
- 情怀——推荐梁晓声新作《未死的沙威》
- 论文笔记 Multiple Instance Detection Network with Online Instance Classifier Refinement - CVPR 2017