题目一描述:
电话的数字键对应英文字母的26个字符,返回所有它能表示的字母组合,给出数组到字母的映射如下,数字1不对应任何字母。题目对于小白来说有点难,因此参考别人的程序,需要多多复习一下。
传送门
题目一分析:
对于需要匹配的字符需要将数字与字符串进行相关的编码映射,因此使用map将自己的数字与数字对应的字符串进行相关的匹配。然后进行递归回溯进行将所有的数字对应的字符串拼接在一起
代码如下:

class Solution {List<String> list = new ArrayList<>();Map<String,String> map = new HashMap<String,String>(){{put("2","abc");put("3","def");put("4","ghi");put("5","jkl");put("6","mno");put("7","pqrs");put("8","tuv");put("9","wxyz");}};//循环的起始位置,将初始的字符串传入递归函数中public List<String> letterCombinations(String digits) {if(digits.length()!=0)pinString("",digits);return list;    }//递归函数,第一个位置为拼接的字符串第二个位置为下一个数字字符串的位置public void pinString(String combination,String digits){//递归结束的条件,当前数字的长度为0直接将拼接的字符串传入集合中if(digits.length()==0){list.add(combination);return;}else{//将数字的第一个位置产分出来String tempnum =  digits.substring(0,1);//获取该位置对应的字符串,例如2对应的是abcString dic = map.get(tempnum);//当前数字对应的位置一次遍历,回溯时选择下一个位置for(int i=0;i<dic.length();i++){//将当前位置的字符串拆分下来,进行拼接后传入去掉当前数字的剩余数字String tmpdic = dic.substring(i,i+1);pinString(combination+tmpdic,digits.substring(1));}}}
}

题目二描述:
将十进制的数字转换成十六进制的数字,包括正数与负数,负数使用补码形式
题目二分析:
个人使用的是一个常数级别额外的控件将大于十的数字对应的字符存放在一个集合中,如果是负数使用其补码将其转换成一个正整数进行处理,正整数采用短除法取余数直到商为0,然后将余数从底向上返回即为答案。
代码如下:

class Solution {//将大于十的数字对应的字符放在一个map中进行存储Map<String,String> map = new HashMap<>(){{put("10","a");put("11","b");put("12","c");put("13","d");put("14","e");put("15","f");}};public String toHex(int num) {//该方式是将数字的模创建出来,即将1左移32位long basic = (1l << 32);if (num == 0)return "0";//创建一个串用于拼接StringBuilder sb = new StringBuilder();long longnum = 0l;//对于负数使用模+负数即为正整数的转换if (num < 0)longnum = (basic + num);elselongnum = num;//对于正整数进行短除法进行处理while (longnum != 0) {long temp = longnum % 16;String str = String.valueOf(temp);if (map.containsKey(str)) {sb.append(map.get(str));} elsesb.append(temp);longnum = longnum / 16;}//将字符串反转return sb.reverse().toString();}
}

Leetcode刷题之(电话号码字母组合、十进制转十六进制)相关推荐

  1. LeetCode刷题记录——17电话号码的字母组合

    LeetCode刷题记录--17电话号码的字母组合 一 题目描述: 给定一个仅包含数字2-9的字符串,返回所有它能表示的字母组合.给出数字到字母的映射如下.注意1不对应任何字母 示例: 输入:&quo ...

  2. C#LeetCode刷题-字符串

    字符串篇 # 题名 刷题 通过率 难度 3 无重复字符的最长子串 24.6% 中等 5 最长回文子串 22.4% 中等 6 Z字形变换 35.8% 中等 8 字符串转整数 (atoi) 15.3% 中 ...

  3. LeetCode 刷题之路(python版)

    摘自:https://blog.csdn.net/qq_32384313/article/details/90745354 LeetCode 刷题之路(python版) 小坏wz 2019-06-02 ...

  4. 个人LeetCode刷题记录(带题目链接及解答)持续更新

    Leetcode 刷题 注:~[完成]代表还有一些方法没看,最后再看 一.一些需要重刷的典型题: 1.快速排序,归并排序,堆排序(递归的思想) 2.链表中的回文链表,其中的快慢指针,多看,多练 3.链 ...

  5. Leetcode刷题日记:21-25题篇

    Leetcode刷题日记:21-25题篇 简介 题目: 21. 合并两个有序链表 22. 括号生成 23. 合并K个升序链表 24. 两两交换链表中的节点 25. K 个一组翻转链表 注 简介 这个系 ...

  6. LeetCode刷题记录4——67. Add Binary(easy)

    LeetCode刷题记录4--67. Add Binary(easy) 目录 LeetCode刷题记录4--67. Add Binary(easy) 题目 语言 思路 后记 题目 今天这题是与字符串相 ...

  7. C#LeetCode刷题-Shell

    本文由 比特飞 原创发布,欢迎大家踊跃转载. 转载请注明本文地址:C#LeetCode刷题-Shell | .Net中文网. C#LEETCODE刷题概述 概述 所有LeetCodeShell类算法题 ...

  8. 一个算法笨蛋的12月leetCode刷题日记

    类似文章 一个算法笨蛋的2021年11月leetCode刷题日记 一个算法笨蛋的2021年12月leetCode刷题日记 一个算法笨蛋的2022年1月leetCode刷题日记 一个算法笨蛋的2022年 ...

  9. LeetCode刷题1:第四周

    LeetCode刷题1:第四周 目录 LeetCode刷题1:第四周 一.前言 二.知识点 1.Python 字符串 Python 访问字符串中的值 Python 字符串更新 Python转义字符 P ...

最新文章

  1. UVA10534-----Wavio Sequence-----动态规划之LIS
  2. python画的图怎么保存_python通过PyGame绘制图像并保存为图片文件的代码
  3. 单实例模式(singleton)
  4. 配置MYSQL基于GTID 主从复制详细解析及步骤
  5. window.location操作url对象
  6. Anaconda 安装与使用
  7. elasticsearch virtual memory虚拟内存配置“max virtual memory areas vm.max_map_count [65530] is too low, inc
  8. 深入剖析Redis系列(五) - Redis数据结构之字符串
  9. C语言程序设计现代方法1,2,3章
  10. 俄罗斯网络间谍被指攻击斯洛伐克政府长达数月
  11. Oracle Coherence中文教程四:构建一个Coherence 应用
  12. c# 回调先进先出_Stack和Queue:后进先出和先进先出
  13. Vue + Spring Boot 项目实战(十四):用户认证方案与完善的访问拦截
  14. jwt怎么获取当前登录用户_获取jwt(json web token)中存储的用户信息
  15. 红米k30pro工程测试代码_红米手机如何进行硬件测试
  16. Mono.Cecil说明文档翻译
  17. DB2数据库如何修改字段名称
  18. 如何从零开始设计一款小程序原型?
  19. Android ION 内存管理
  20. 1077 Kuchiguse (20point(s)) - C语言 PAT 甲级

热门文章

  1. 一些前端相关的面试题(含答案)
  2. Android排行榜 记录
  3. FPGA零基础学习:Quartus prime 18.0标准版使用说明
  4. win10+ubuntu18.04双系统成功安装过程,附带显卡驱动安装过程
  5. 手把手教你做一个自定义表格标签
  6. WEB自动化测试笔记完整整理
  7. 【C语言必经之路——第14节】指针进阶(1)
  8. android fragment返回值,android – PreferenceFragment :: onPreferenceTreeClick返回值 – 它做什么?...
  9. 百度糯米iOS客户端登录BUG
  10. 8647服务器装系统,IBM3650服务器系统安装