首页 > 其他分享 >17. 电话号码的字母组合c

17. 电话号码的字母组合c

时间:2024-03-15 14:56:38浏览次数:19  
标签:index 17 returnSize int char 电话号码 字母组合 array

/**
 * Note: The returned array must be malloced, assume caller calls free().
 */
char c[10][10]={" "," ","abc\0","def\0","ghi\0","jkl\0","mno\0","pqrs\0","tuv\0","wxyz\0"};
char temp[6];

void dfs(char** array,char* digits,int n,int* returnSize,int index){
    if(index>n) return ;
    if(index==n){
        array[*returnSize]=(char*)malloc(sizeof(char)*(n+1));
        for(int i=0;i<n;i++) array[*returnSize][i]=temp[i];
        array[*returnSize][n]=0;
        (*returnSize)++;
        return;
    }
    int t=digits[index]-'0';
    int i=0;
    while(c[t][i]!=0){
        temp[index]=c[t][i];
        dfs(array,digits,n,returnSize,index+1);
        temp[index]=0;
        i++;
    }
}

char** letterCombinations(char* digits, int* returnSize) { 
    for(int i=0;i<6;i++) temp[i]=0;
    int n=strlen(digits);
    *returnSize=0;
    if(digits[0]==0) return NULL;
    char** array=(char**)malloc(sizeof(char*)*3000);
    dfs(array,digits,n,returnSize,0);    
    return array;
}

字符串老是忘记最后加个0

标签:index,17,returnSize,int,char,电话号码,字母组合,array
From: https://www.cnblogs.com/llllmz/p/18075386

相关文章

  • [蓝桥杯 2017 国 C] 合根植物(P8654)
    #include<bits/stdc++.h>#defineendl'\n'usingll=longlong;typedefunsignedlonglongull;usingnamespacestd;voidGordenGhost();intn,m;map<int,int>fa;intfindB(intx){if(fa[x]==x)returnx;returnfa[x]=findB(......
  • 安卓Java面试题 171- 180
    171.简述实现Service不被杀死常驻内存的方式有哪些?(1):如果是安卓自身机制因为系统资源不足的时候杀死你的Service,那么一般情况下会在一段时间之后系统会重启刚刚被杀死的Service那么此时你该做的事就是怎么恢复Service被杀之前app的一些状态了,那么该怎么恢复呢?这里用......
  • LC 17.电话号码的字母组合
    17.电话号码的字母组合给定一个仅包含数字2-9的字符串,返回所有它能表示的字母组合。答案可以按任意顺序返回。给出数字到字母的映射如下(与电话按键相同)。注意1不对应任何字母。示例1:输入:digits=“23”输出:[“ad”,“ae”,“af”,“bd”,“be”,“bf”,“cd......
  • 科普:DO-178B
    ​对航空航天领域的工业软件设计来说,安全无疑是重中之重,而在众多安全准则中,最为关键也最具影响力的就是DO-178B。▲DO-178B软件生命周期过程关系图 01.什么是DO-178B?DO-178B的全称为“机载系统设备合格审定中的软件考虑”,发布于1992年,由无线电航空技术委员会(RTCA,RadioTechn......
  • 代码随想录算法训练营第day17|110.平衡二叉树 、 257. 二叉树的所有路径 、404.左叶子
    目录a.110.平衡二叉树b.257.二叉树的所有路径 c.404.左叶子之和a.110.平衡二叉树力扣题目链接(opensnewwindow)给定一个二叉树,判断它是否是高度平衡的二叉树。本题中,一棵高度平衡二叉树定义为:一个二叉树每个节点的左右两个子树的高度差的绝对值不超过1。示例1......
  • lc1755 最接近目标值的子序列和
    给你一个整数数组nums和一个目标值goal,需要从nums中选出一个子序列,使子序列元素总和最接近goal,返回abs(sum-goal)可能的最小值。数组的子序列指通过移除原数组中的某些元素(可能全部或无)而形成的数组。1<=nums.length<=40;-1e7<=nums[i]<=1e7;-1e9<=goal<=1e9值域过大,不能用背......
  • odoo17开发教程(7):用户界面UI的交互-菜单
    声明菜单menuitem为了减少声明菜单(ir.ui.menu)并将其连接到相应操作的复杂性,我们可以使用<menuitem>快捷方式。 还是拿 test_model_action举例,一个最简单的菜单如下:<menuitemid="test_model_menu_action"action="test_model_action"/>菜单test_model_menu_action......
  • odoo17开发教程(5):权限的简单介绍
    在之前的文章中,我们创建了第一个用于存储业务数据的表。在Odoo这样的商业应用程序中,首先要考虑的问题之一是谁可以访问数据。Odoo提供了一种安全机制,允许特定用户组访问数据。本章旨在对权限有个最低要求对了解数据文件(CSV)Odoo是一个高度数据驱动的系统。虽然行为是通过......
  • 617. 合并二叉树c
    /***Definitionforabinarytreenode.*structTreeNode{*intval;*structTreeNode*left;*structTreeNode*right;*};*/structTreeNode*mergeTrees(structTreeNode*root1,structTreeNode*root2){if(!root1&&!roo......
  • 滴水逆向笔记系列-c语言总结4-15.switch语句反汇编-16.指针1-17.指针2
    第十五课c语言8switch语句初步测试感觉switch在反汇编的语句和if语句的唯一差别就是jcc语句比较集中当分支大于四条时,switch的反汇编开始变3为switch传入的值,1是case最小值,4是case最大值减1,算出偏移量后通过偏移量4加上基址就可以在大表中获取要输出的case语句的地址当现在case......