文章目录

  • 1. 题目
  • 2. 解题

1. 题目

给你一个单词序列,判断其是否形成了一个有效的单词方块。

有效的单词方块是指此由单词序列组成的文字方块的 第 k 行 和 第 k 列 (0 ≤ k < max(行数, 列数)) 所显示的字符串完全相同。

注意:
给定的单词数大于等于 1 且不超过 500。
单词长度大于等于 1 且不超过 500。
每个单词只包含小写英文字母 a-z。示例 1:
输入:
["abcd","bnrt","crmy","dtye"
]
输出:
true
解释:
第 1 行和第 1 列都是 "abcd"。
第 2 行和第 2 列都是 "bnrt"。
第 3 行和第 3 列都是 "crmy"。
第 4 行和第 4 列都是 "dtye"。
因此,这是一个有效的单词方块。示例 2:
输入:
["abcd","bnrt","crm","dt"
]
输出:
true
解释:
第 1 行和第 1 列都是 "abcd"。
第 2 行和第 2 列都是 "bnrt"。
第 3 行和第 3 列都是 "crm"。
第 4 行和第 4 列都是 "dt"。
因此,这是一个有效的单词方块。示例 3:
输入:
["ball","area","read","lady"
]
输出:
false
解释:
第 3 行是 "read" ,然而第 3 列是 "lead"。
因此,这 不是 一个有效的单词方块。

来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/valid-word-square
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

2. 解题

  • 检查单词长度是否等于单词个数,有长的,直接返回false
  • 短的,补上空格
class Solution {public:bool validWordSquare(vector<string>& words) {int m = words.size(), i, j;for(i = 0; i < m; ++i){if(words[i].size() > m)return false;if(words[i].size() < m)words[i] += string(m-words[i].size(),' ');}for(i = 0; i < m; ++i){for(j = 0; j < m; ++j){if(words[i][j] != words[j][i])return false;}}return true;}
};

32 ms 9 MB


长按或扫码关注我的公众号,一起加油、一起学习进步!

LeetCode 422. 有效的单词方块相关推荐

  1. LeetCode 425. 单词方块(Trie树+DFS)

    文章目录 1. 题目 2. 解题 1. 题目 给定一个单词集合 (没有重复),找出其中所有的 单词方块 . 一个单词序列形成了一个有效的单词方块的意思是指从第 k 行和第 k 列 (0 ≤ k < ...

  2. 剑指offer——面试题42-2:翻转单词顺序

    剑指offer--面试题42-2:翻转单词顺序 20180906整理 Solution1: 自己想的垃圾算法 对于c++中的string对象,substr()和erase()函数都是很常用的,常见用法 ...

  3. LeetCode第127题—单词接龙—Python实现

    title: LeetCode No.127 categories: OJ LeetCode tags: Programing LeetCode OJ LeetCode第127题-单词接龙 自己代码的 ...

  4. 跟我打卡LeetCode 58最后一个单词长度59螺旋矩阵Ⅱ60排列序列

    原创公众号:bigsai 关注后回复进群即可加入力扣打卡群,欢迎划水.近期打卡: LeetCode 47全排列Ⅱ&48旋转图像 LeetCode 49字母异位词分组&50pow(x,n ...

  5. LeetCode 30. 串联所有单词的子串(字符串哈希)

    1. 题目 给定一个字符串 s 和一些长度相同的单词 words.找出 s 中恰好可以由 words 中所有单词串联形成的子串的起始位置. 注意子串要与 words 中的单词完全匹配,中间不能有其他字 ...

  6. LeetCode 58. 最后一个单词的长度

    1. 题目 给定一个仅包含大小写字母和空格 ' ' 的字符串 s,返回其最后一个单词的长度. 如果字符串从左向右滚动显示,那么最后一个单词就是最后出现的单词. 如果不存在最后一个单词,请返回 0 . ...

  7. Leetcode 30.串联所有单词的子串

    Time: 20191023 题目描述 给定一个字符串 s 和一些长度相同的单词 words.找出 s 中恰好可以由 words 中所有单词串联形成的子串的起始位置. 注意子串要与 words 中的单 ...

  8. 【LeetCode】1160. 拼写单词(C++)

    1160. 拼写单词(C++) 1 题目描述 2 示例描述 2.1 示例 1 2.2 示例 2 3 解题提示 4 解题思路 5 源码详解(C++) 1 题目描述 给你一份『词汇表』(字符串数组) wo ...

  9. leetcode 58最后一个单词的长度 (js)

    leetcode58. 最后一个单词的长度 (js) 题目 代码 题目 给定一个仅包含大小写字母和空格 ' ' 的字符串 s,返回其最后一个单词的长度.如果字符串从左向右滚动显示,那么最后一个单词就是 ...

最新文章

  1. Python 中__new__()和__init__()的区别
  2. DSP与FPGA和嵌入式是什么关系?
  3. 做时间序列预测有必要用深度学习吗?梯度提升回归树媲美甚至超越多个DNN模型...
  4. WF4.0 应用篇(四) IActivityToolboxService 自动化工具栏
  5. Android Studio出现UnsupportedClassVersionError Unsupported major.minor version 52.0
  6. wireshark分析SIP协议——注册
  7. mysql语句二级查询_mysql_2 基本查询语句
  8. 关于Android开发中出现 NoClassDefFoundError
  9. juc-并发工具类源码解析
  10. 超级简单C语言进制转换代码
  11. 6.详解第二代蜂窝移动通信系统的典型代表——GSM和通用分组无线业务(GPRS)
  12. jQuery拖拽图片拼图验证插件
  13. linux系统升级python版本
  14. Spring Batch单元测试示例
  15. JavaScript阻止链接跳转
  16. 计算机专业实习目的与意义,计算机专业实习目的及意义
  17. 华夏芯闪耀登场第四届“芯动北京“论坛
  18. 离散题目13(判断自反关系)
  19. 我好像上瘾了-王者农药(脱坑篇)
  20. 一年中的十二个月(英语)分别表示什么意思/

热门文章

  1. mysql注册成功为啥启动不了mysql_mysql启动不成功的解决方法
  2. mysql select 子查询_SELECT中常用的子查询操作
  3. 24安装失败 spss win10_教你win10系统显卡驱动安装失败的解决方法「系统天地」
  4. 在64位Ubuntu上编译32位程序常见错误
  5. Win7_刻录DVD
  6. firefox 插件 取消认证签名
  7. ORA-23616:执行块5失败
  8. Lucene3.5自学4--建索引相关知识总结
  9. Matlab编程学习笔记【待续】
  10. 修改MYSQL 密码