后端岗位面试题更新 2026-08-05

手撕:字符串全排列(去重),不用额外的存储空间,串怎么去重?

深圳虾皮信息科技有限公司后端开发互联网/IT编码实现问题拆解技术原理

考察说明

考察递归回溯实现全排列的能力,以及在不使用额外存储空间条件下对重复排列的去重处理

回答思路

  1. 能写出递归回溯生成全排列的框架,正确交换或选择字符
  2. 能识别重复排列产生的根本原因:同一位置选择相同字符
  3. 说明不额外使用集合等存储空间的去重策略:先排序后剪枝,或利用交换层的字符去重判断
  4. 代码逻辑清晰,边界条件(空串、单字符、全相同字符)处理正确
  5. 能分析时间复杂度并说明去重不影响整体复杂度量级
本题已收录答题指导

本题附完整参考答案与评分标准

登录后可查看结构化答题指导;也可以直接开一场模拟面试,AI 面试官用本题实时追问并给出评分。