当前位置: 首页 > news >正文

Leetcode 每日刷题 -- Longest Common Prefix

https://leetcode.com/problems/longest-common-prefix/description/

问题描述:找出字符串数组中最长前缀,若没有,返回空“”

Example 1:

Input: strs = ["flower","flow","flight"]

Output: "fl"

结题思路:

  1. 摘出第一个字符串, flower, 假定最长前缀为strlen("flower") = 6,

  1. 摘出第二个字符串, flow, 与第一个字符串逐个字符比较,得到公共前缀长度res_len,

  1. 遍历第二个字符串~最后一个字符串,得到最小res_len, 即为最终公共前缀长度,

  1. 截取第一个字符串长度为res_len 子串,作为结果返回

答案C语言版本:

#define min(x, y) (x < y ? x : y)

char * longestCommonPrefix(char ** strs, int strsSize){

uint8_t i = 0, j = 0;

char *str0 = strs[0];

uint8_t res_len = strlen(str0);

char result[200] = {'\0'};

for (i = 1; i < strsSize; i++) {

while (j < res_len && strs[i][j] == str0[j]) j++;

res_len = min(j, res_len);

j = 0;

}

return strncpy(result, str0, res_len);

}

相关文章:

  • STL中的队列用法整理
  • 78.循环神经网络(RNN)
  • 2023新生个人训练赛第08场解题报告
  • 【青训营】Go的并发编程
  • Okhttp3框架中的那些坑点记录
  • leetCode周赛-328
  • 算法设计与分析课程
  • RT-Thread系列--启动过程
  • 【Java寒假打卡】Java基础-网络编程UDP和TCP
  • Camera | 2.MIPI、CSI基础
  • Linux c编程之gdb
  • java基础学习 day34(StringBuilder,链式编程)
  • 支持数位板的远程软件,实现远程使用 Wacom 数位板
  • ASP.NET Core+Element+SQL Server开发校园图书管理系统(一)
  • AppScan自定义扫描策略,扫描针对性漏洞
  • 【博客590】iptables raw表的特殊作用
  • 第8章 NVS
  • 【Android笔记67】Android之动态申请访问权限(工具类封装)
  • Pytorch自定义数据集模型训练流程
  • QEMU零知识学习3 —— QEMU配置