LEETCODE - 1181【前后拼接】
class Solution {
public:
    string gethead(string str){//获取头单词
        string ret = "";
        int strlen = str.length();
        for(int i = 0; i < strlen; ++i){
            if(str[i] == ' '){
                break;
            }
            ret += str[i];
        }
        return ret;
    }
    string gettail(string str){//获取尾单词
        int strlen = str.length();
        int index = 0;
        for(int i = strlen - 1; i >= 0; i--){
            if(str[i] == ' '){
                index = i;
                break;
            }
        }
        if(index == 0){
            return str;
        }
        return str.substr(index+1,strlen);;
    }
    string deletesubstr(string str,string substr){//删除重复的单词【为了拼接】;只能删除第一个单词,不能删除最后一个单词【与空格有关】
        string strT = str;
        int pos = strT.find(substr);
        if (pos >-1)
        {
            strT.erase(pos,substr.size());
        }
        return strT;
    }
    vector<string> beforeAndAfterPuzzles(vector<string>& phrases) {
        int phraseslen = phrases.size();
        vector<string> head;
        vector<string> tail;
        for(int i = 0; i < phraseslen; ++i){//获取头尾词的数组
            head.push_back(gethead(phrases[i]));
            tail.push_back(gettail(phrases[i]));
        }
        vector<string> ret;
        for(int j = 0; j < phraseslen; ++j){//尾部
            for(int k = 0; k < phraseslen; ++k){
                if(j != k && tail[j] == head[k]){//如果某个子串的头等于另一个子串的尾
                    ret.push_back(phrases[j] + deletesubstr(phrases[k],head[k]));//把他拼接起来放在返回容器中
                    cout << phrases[j] + deletesubstr(phrases[k],head[k]) << endl;
                }
            }
        }
        sort(ret.begin(), ret.end());
        ret.erase(unique(ret.begin(), ret.end()), ret.end());//去重
        return ret;
    }
};
LEETCODE - 1181【前后拼接】的更多相关文章
- LeetCode.1071-字符串最大公约数(Greatest Common Divisor of Strings)
		这是小川的第391次更新,第421篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第253题(顺位题号是1071).对于字符串S和T,当且仅当S = T + ... + T ... 
- 力扣Leetcode 179. 最大数 EOJ 和你在一起 字符串拼接 组成最大数
		最大数 力扣 给定一组非负整数,重新排列它们的顺序使之组成一个最大的整数. 示例 1: 输入: [10,2] 输出: 210 示例 2: 输入: [3,30,34,5,9] 输出: 9534330 说 ... 
- Leetcode 321.拼接最大数
		拼接最大数 给定长度分别为 m 和 n 的两个数组,其元素由 0-9 构成,表示两个自然数各位上的数字.现在从这两个数组中选出 k (k <= m + n) 个数字拼接成一个新的数,要求从同一个 ... 
- Java实现 LeetCode 321  拼接最大数
		321. 拼接最大数 给定长度分别为 m 和 n 的两个数组,其元素由 0-9 构成,表示两个自然数各位上的数字.现在从这两个数组中选出 k (k <= m + n) 个数字拼接成一个新的数,要 ... 
- 【LeetCode】1181. Before and After Puzzle 解题报告(C++)
		作者: 负雪明烛 id: fuxuemingzhu 个人博客:http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 保存首尾字符串 日期 题目地址:https://lee ... 
- leetCode刷题(找到两个数组拼接后的中间数)
		There are two sorted arrays nums1 and nums2 of size m and n respectively. Find the median of the two ... 
- leetcode 321. 拼接最大数(单调栈,分治,贪心)
		题目链接 https://leetcode-cn.com/problems/create-maximum-number/ 思路: 心都写碎了.... 也许就是不适合吧.... 你是个好人... cla ... 
- [LeetCode] Repeated Substring Pattern 重复子字符串模式
		Given a non-empty string check if it can be constructed by taking a substring of it and appending mu ... 
- [LeetCode] Ternary Expression Parser 三元表达式解析器
		Given a string representing arbitrarily nested ternary expressions, calculate the result of the expr ... 
随机推荐
- Sqli - Labs 靶场笔记(一)
			Less - 1: 页面: URL: http://127.0.0.1/sqli-labs-master/Less-1/ 测试: 1.回显正常,说明不是数字型注入, http://127.0.0.1/ ... 
- SDUST数据结构 - chap3 栈和队列
			一.判断题: 二.选择题: 三.编程题: 7-1 一元多项式求导: 输入样例: 3 4 -5 2 6 1 -2 0 输出样例: 12 3 -10 1 6 0 代码: #include<bits/ ... 
- ctfshow—web—web2
			打开靶机,根据提示是SQL注入 打开后看到登录窗口 方法一.手工注入 抓取数据包 开始SQL注入测试 利用万能密码,登录成功 查看回显位置 查询数据库 查询数据库内数据表 如果想整齐一点显示可以添加g ... 
- Flash图解线程池 |  阿里巴巴面试官希望问的线程池到底是什么?
			前言 前几天小强去阿里巴巴面试Java岗,止步于二面. 他和我诉苦自己被虐的多惨多惨,特别是深挖线程和线程池的时候,居然被问到不知道如何作答. 对于他的遭遇,结合他过了一面的那个嘚瑟样,我深表同情(加 ... 
- (G)I-DLE—화(火花)  (HWAA)
			闲来无事又来推歌了/cy 我这博客好像只能用来更日记+推歌了/kk 到今天(G)I-DLE已经获得九个一位啦~ 歌真的挺不错的 特别是,一个韩国女团出了这首歌的中文版 就觉得很有好感 music 韩文 ... 
- GeoMesa 环境搭建
			GeoMesa 环境搭建 版本 虚拟机安装 os centos7 Centos安装 CentOS安装Jdk并配置环境变量 hadoop.hbase环境部署 geomesa_hbase部署 geoser ... 
- Ajax原理,技术封装与完整示例代码
			在做项目和学习的时候,经常用到Ajax的相关技术,但是这方面的技术总是运用的不是十分好,就寻找相关博客来学习加深Ajax技术相关. 一.Ajax简介 二.同步.异步传输区别 2.1 异步传输 2.2 ... 
- orm(Manager isn't accessible via %s instances" % cls.__name)报错
			报错信息 Manager isn't accessible via %s instances" % cls.__name 解决方法 https://www.jianshu.com/p/5e0 ... 
- Kubernetes  --(k8s) service
			service Kubernete Service 是一个定义了一组Pod的策略的抽象,我们也有时候叫做宏观服务.这些被服务标记的Pod都是(一般)通过label Selector决定的 对于Kube ... 
- Jenkins Pipelines+Docker执行RobotFramework自动化测试
			一.Jenkins Pipelines介绍 Pipeline,简而言之,就是一套运行于Jenkins上的工作流框架,将原本独立运行于单个或者多个节点的任务连接起来,实现单个任务难以完成的复杂流程编排与 ... 
