由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Military版 - 请教一个Palindrome Partition问题
相关主题
这道面试题要是ONSITE李鸿忠是高级码工
美国中学数学 (转载)一个程序员的日常
寻找凶手的程序 改良版 转今天止步69196
问一个sorting numerical array的问题今天面试一个老印,给我写了这样一段code (转载)
看到公司名字minmax哥笑了两个和谐二元运算但不是环的叫什么Algebra?
移动硬盘读不了了做题
香港台湾的问题的根本在于政党政治。FW: Frayed String for China's Property Balloon
怎样能把go写的稍微漂亮一点? (转载)Frayed String for China's Property Balloon (ZT)
相关话题的讨论汇总
话题: string话题: arraylist话题: start话题: palindrome话题: return
进入Military版参与讨论
1 (共1页)
H*****l
发帖数: 1257
1
原题是Leetcode上的Palindrome Partitioning
如下:
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函数里,这一小段是什么用处啊?特别是最后的remove..
for(int i=start+1;i<=s.length();i++){
if(isPalin(s,start,i-1)){
al.add(s.substring(start,i));
dfs(s,i,al);
al.remove(al.size()-1);
}
}
全部的代码如下:
public class Solution {
ArrayList> all=new ArrayList>();

boolean isPalin(String s, int i, int j){
while(i if(s.charAt(i)!=s.charAt(j)) return false;
i++;
j--;
}
return true;
}

void dfs(String s, int start, ArrayList al){
if(start==s.length()){
all.add(new ArrayList(al));
return;
}
for(int i=start+1;i<=s.length();i++){
if(isPalin(s,start,i-1)){
al.add(s.substring(start,i));
dfs(s,i,al);
al.remove(al.size()-1);
}
}
}

public ArrayList> partition(String s) {
all.clear();
ArrayList al=new ArrayList();
dfs(s,0,al);
return all;
}
}
1 (共1页)
进入Military版参与讨论
相关主题
Frayed String for China's Property Balloon (ZT)看到公司名字minmax哥笑了
===宇宙是一个孤立系统吗?===移动硬盘读不了了
dallas female looking for booty call, no strings attached (转载)香港台湾的问题的根本在于政党政治。
搞物理的能用得着数论吗怎样能把go写的稍微漂亮一点? (转载)
这道面试题要是ONSITE李鸿忠是高级码工
美国中学数学 (转载)一个程序员的日常
寻找凶手的程序 改良版 转今天止步69196
问一个sorting numerical array的问题今天面试一个老印,给我写了这样一段code (转载)
相关话题的讨论汇总
话题: string话题: arraylist话题: start话题: palindrome话题: return