题目地址:

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相关推荐

  1. 【leetcode】486. Predict the Winner

    题目如下: Given an array of scores that are non-negative integers. Player 1 picks one of the numbers fro ...

  2. 【leetcode】132. Palindrome Partitioning II

    题目如下: 解题思路:本题是[leetcode]131. Palindrome Partitioning的升级版,要求的是求出最小cuts,如果用[leetcode]131. Palindrome P ...

  3. 【leetcode】41. First Missing Positive

    题目如下: 解题思路:这题看起来和[leetcode]448. Find All Numbers Disappeared in an Array很相似,但是有几点不同:一是本题的输入存在负数,二是没有 ...

  4. 【LeetCode】剑指 Offer 38. 字符串的排列

    [LeetCode]剑指 Offer 38. 字符串的排列 文章目录 [LeetCode]剑指 Offer 38. 字符串的排列 package offer;import java.util.Hash ...

  5. 【LeetCode】剑指 Offer 35. 复杂链表的复制

    [LeetCode]剑指 Offer 35. 复杂链表的复制 文章目录 [LeetCode]剑指 Offer 35. 复杂链表的复制 package offer;import java.util.Ar ...

  6. 概率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() ...

  7. 【Leetcode】100. 相同的树

    题目 给定两个二叉树,编写一个函数来检验它们是否相同. 如果两个树在结构上相同,并且节点具有相同的值,则认为它们是相同的. 示例 1: 输入: 1 1/ \ / \2 3 2 3[1,2,3], [1 ...

  8. 【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 ...

  9. 【leetcode】86. Partition List

    题目如下: Given a linked list and a value x, partition it such that all nodes less than x come before no ...

  10. 【Leetcode】103. 二叉树的锯齿形层次遍历

    题目 给定一个二叉树,返回其节点值的锯齿形层次遍历.(即先从左往右,再从右往左进行下一层遍历,以此类推,层与层之间交替进行). 例如: 给定二叉树 [3,9,20,null,null,15,7], 3 ...

最新文章

  1. hadoop 添加删除机器以及设置免密登录
  2. Django web框架-----Django连接现有mysql数据库
  3. 学Redis这篇就够了!
  4. 深入理解RunLoop(转载)
  5. [leetcode] 72. 编辑距离(二维动态规划)
  6. OpenSolaris北京用户组的第一次活动
  7. 45 FI配置-财务会计-固定资产-一般评估-指定折旧条件转移
  8. 大于3小于4的整数bleem_[电影点评]3和4之间还有整数吗?疯子数学家发现,只要证明出来就能穿越今天为大家带来一部只要证明3和4之间还有一个整数就能穿越时空的科幻悬疑片《隐匿的数字》 故...
  9. 如何查看linux中的ssh端口开启状态
  10. 在Linux下使用dnw和u-boot烧写系统
  11. jsp___jstl标签
  12. java中修改对象类的数据_Java中创建对象的六个步骤 细分后(new关键字)对象头详细介绍...
  13. 使用 webSocket 连接菜鸟打印(并获取当前电脑连接的打印机信息)
  14. Java实现二值化处理图像
  15. 立创EDA学习笔记(2)——创建元件符号
  16. Windows 10内置Hyper-V虚拟机安装XP系统(二) - 配置网络
  17. DeepMD安装及Unbuntu下Nvidia显卡升级(防跳坑)
  18. 谁先倒(15 分) 划拳是古老中国酒文化的一个有趣的组成部分。酒桌上两人划拳的方法为:每人口中喊出一个数字,同时用手比划出一个数字。如果谁比划出的数字正好等于两人喊出的数字之和,谁就输了,输家罚一杯酒
  19. 情怀——推荐梁晓声新作《未死的沙威》
  20. 论文笔记 Multiple Instance Detection Network with Online Instance Classifier Refinement - CVPR 2017

热门文章

  1. 一年中所有节日的排列顺序_我国一年中的传统节日。(按顺序)
  2. 微信多客服系统开发教程
  3. 用计算机制作演示文稿教案博客,《制作多媒体演示文稿》教学案例
  4. 多变量之间的关系可视化——Seaborn.pairplot
  5. Tensorflow概念详解
  6. B站CEO陈睿:我们活跃用户仍维持高增长 动能是独特优质内容
  7. 计算机必备ASCII码表
  8. 置信区间的临界值_在进行区间估计时,若要求置信水平为95%,则相应的临界值为...
  9. 在WIN系统中直接安装黑苹果系统
  10. 程序员的英语学习指南