校招算法笔面试 | 校招笔面试真题-字符串提取

校招算法题:字符串提取解题思路

题目

题目链接

解题思路

本题要求从字符串中提取最后一个[img]到最后一个[\img]之间的内容。我们可以通过以下步骤解决:

  1. 找到最后一个[img]的位置
  2. 找到最后一个[\img]的位置
  3. 如果两者都存在且[img]在[\img]前面,则提取这段字符串
  4. 否则返回"null"

关键点

  1. 使用字符串的查找函数
  2. 处理特殊情况(未找到匹配、位置不合法等)
  3. 注意字符串的截取范围

代码

#include <iostream>
#include <string>
using namespace std;

class Solution {
   
   
public:
    string extractImage(string str) {
   
   
        // 查找最后一个[img]和[\img]的位置
        size_t imgStart = str.rfind("[img]");
        size_t imgEnd = str.rfind("[\\img]");
        
        // 如果没有找到任何一个标签,或者[img]在[\img]后面
        if (imgStart == string::npos || imgEnd == string::npos || imgStart > imgEnd) {
   
   
            
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值