博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
leetcode dfs Palindrome Partitioning
阅读量:5905 次
发布时间:2019-06-19

本文共 1004 字,大约阅读时间需要 3 分钟。

Palindrome Partitioning

 
Total Accepted: 21056 
Total Submissions: 81036

Given a string s, partition s such that every substring of the partition is a palindrome.

Return all possible palindrome partitioning of s.

For example, given s = "aab",

Return

[    ["aa","b"],    ["a","a","b"]  ]

题意:切割字符串,使每一个子串都是回文
思路:dfs
选择一个切割点时,假设从起点到切割点的子串是回文,那么该切割点是合法的。能够选择
按这个规则dfs枚举就能够了
复杂度:时间O(n)。空间O(log n)

vector
>res;bool is_palindrome(const string &s, int start, int end){ while(start < end){ if(s[start] != s[end - 1]) return false; ++start; --end; } return true;}void dfs(const string &s, int cur, vector
& partitions){ int size = s.size(); if(cur == size){ res.push_back(partitions); } for(int end = cur + 1; end <= size; ++end){ if(is_palindrome(s, cur, end)){ partitions.push_back(s.substr(cur, end - cur)); dfs(s, end, partitions); partitions.pop_back(); } }}vector
> partition(string s) { vector
tem; dfs(s, 0, tem); return res;}

转载地址:http://kbcpx.baihongyu.com/

你可能感兴趣的文章
JavaWeb技术内幕一:深入web请求过程
查看>>
压测软件Jmeter使用实例(WIN7环境)
查看>>
Android内存泄漏检测工具:LeakCanary
查看>>
使用ABAP正则表达式解析HTML标签
查看>>
Android--Error:Library projects cannot enable Jack. Jack is enabled in default config
查看>>
左志坚:卖掉拇指阅读,没有什么舍不得
查看>>
SDN&NFV营收大数据分析
查看>>
监督学习最常见的五种算法,你知道几个?
查看>>
隧道高清网络视频传输解决方案
查看>>
《Servlet和JSP学习指南》一1.3 编写基础的Servlet应用程序
查看>>
技术报告:APT组织Wekby利用DNS请求作为C&C设施
查看>>
抢先布局5G:联发科加入中国移动5G联合创新中心
查看>>
云服务鼻祖来告诉你99%的创业者不知道的事
查看>>
WFA发布LTE-U共存测试计划 Wi-Fi和LTE-U将公平共享频谱
查看>>
快递单信息泄露惊人 隐形面单能拯救你的隐私吗?
查看>>
移动“村务云”创新“互联网+无线政务”新方式
查看>>
大数据企业落户山西将获重金奖励
查看>>
新品、新投资方两大悬念待解 海云捷迅发布会受关注
查看>>
Kubuntu 15.10 高清截图欣赏
查看>>
30 岁: 程序员心中永远的痛?
查看>>