最长回文子串(HJ16) 最长回文子串题目描述https://www.nowcoder.com/share/jump/5832603751775720167173 给定一个仅包含小写字母的字符串,求其最长回文子串的长度。 回文串指正读和反读都相同的字符串 子串为原字符串中连续的一段字符 示例输入:cdabbacc输出:4解释:最长回文子串为 “abba” 输入:abbacde输出:4解释:最长回文子串为 “abba” 2026-04-30 刷题笔记 > 华为机考 > nowcoder #题解 #Python #字符串 #中心扩展法
字符串排序(HJ19) 字符串排序 题解题目描述https://www.nowcoder.com/share/jump/5832603751775720180207 给定一个由可见字符和空格组成的字符串,按以下规则排序: 按字母表顺序排序(不区分大小写) 同一字母的大小写同时存在时,按输入顺序排列 非字母字符保持原位置不参与排序 示例: 输入:BabA,输出:aABb 输入:Hello NowCoder!,输出:C 2026-04-30 刷题笔记 > 华为机考 > nowcoder #排序 #题解 #Python #字符串
HJ113 火车进站 题目描述火车站一共有 n 辆火车需要入站,每辆火车有一个编号,编号为 1 到 n。同时,也有火车需要出站,由于火车站进出共享一个轨道,所以后入站的火车需要先出站。换句话说,对于某一辆火车,只有在它之后入站的火车都出站了,它才能出站。 现在,已经知道了火车的入站顺序,你需要计算,一共有多少种不同的出站顺序。按照字典序从小到大依次输出全部的出站顺序。 2026-04-23 刷题笔记 > 华为机考 > nowcoder #DFS #栈 #全排列
HJ150 全排列 题目描述给定一个整数 n,请按字典序输出数字 1~n 的所有排列。 输入描述: 一行一个整数 n (1 ≤ n ≤ 9) 输出描述: 按字典序输出所有排列,每行输出 n 个整数,数字之间用单个空格分隔 示例:输入: 3 输出: 1 2 3 1 3 2 2 1 3 2 3 1 3 1 2 3 2 1 2026-05-03 刷题笔记 > 华为机考 > nowcoder #DFS #回溯 #排列
HJ148 迷宫寻路 题目描述旺仔哥哥被困在一个 n×m 的矩形迷宫里。每个格子要么是空地(用符号 . 表示),要么是墙(用符号 # 表示)。旺仔哥哥只能从一个空地移动到其上下左右相邻的空地。 已知旺仔哥哥的起点为左上角 (1,1),终点为右下角 (n,m)。请判断他是否能够到达终点。 保证起点和终点均为空地。 2026-04-29 刷题笔记 > 华为机考 > nowcoder #DFS #图搜索 #迷宫
删除出现次数最少的字符(HJ7) 删除出现次数最少的字符题目描述https://www.nowcoder.com/share/jump/5832603751775720118042 给定一个字符串,删除其中出现次数最少的字符。如果有多个字符出现次数都是最少,则全部删除。输出删除后的字符串,保持原有顺序。 示例输入:aabcddd输出:aadddd解释:b 和 c 各出现 1 次(最少),删除后剩余 “aadddd” 输入:aabb 2026-04-30 刷题笔记 > 华为机考 > nowcoder #题解 #Python #哈希表 #字符串
字符串变换(HJ15) 字符串变换题目描述https://www.nowcoder.com/share/jump/5832603751775720361603 输入两个字符串 s1 和 s2: s1:字母进行大小写转换并后移 1 位,数字后移 1 位 s2:字母进行大小写转换并前移 1 位,数字前移 1 位 字母移动范围在 26 个字母内循环,数字移动范围在 0-9 内循环。 示例输入:abc123 XYZ987输出 2026-04-30 刷题笔记 > 华为机考 > nowcoder #题解 #Python #字符串
字符串字符匹配(HJ17) 字符串字符匹配题目描述https://www.nowcoder.com/share/jump/5832603751775720180207 给定两个字符串,判断第一个字符串中的每个字符是否都在第二个字符串中出现。全部出现输出 true,否则输出 false。 示例输入:abc efgh输出:false解释:a、b、c 都不在 efgh 中 输入:abc aabbcc输出:true解释:a、b、c 2026-04-30 刷题笔记 > 华为机考 > nowcoder #题解 #Python #字符串 #集合
查找兄弟单词(HJ20) 查找兄弟单词 题解题目描述https://www.nowcoder.com/share/jump/5832603751775927842238 定义一个字符串 s 的”兄弟单词”为:将 s 重新排序后得到的与原字符串不同的新字符串。 给定 n 个字符串和另一个字符串 x,需要: 统计这 n 个字符串中,有多少个是 x 的”兄弟单词” 将这些兄弟单词按字典序排序,输出第 k 个 输入: n:字 2026-04-30 刷题笔记 > 华为机考 > nowcoder #排序 #题解 #Python #字符串
查找两个字符串a,b中的最长公共子串(HJ21) 查找两个字符串a,b中的最长公共子串 题解题目描述https://www.nowcoder.com/share/jump/5832603751775928180959 给定两个字符串 s 和 t,找出它们的最长公共子串。如果存在多个答案,输出在较短串中最先出现的那个。 输入: 第一行:字符串 s(1 ≤ len(s) ≤ 300) 第二行:字符串 t(1 ≤ len(t) ≤ 300) 输出: 2026-04-30 刷题笔记 > 华为机考 > nowcoder #题解 #Python #动态规划 #字符串