01;0111;01111;
01;01111;0111101;
01;01111;01111101;
取
01;01;01;
01;01;01111;
01;01;01111;
LZ可以参考下.
public static void main(String[] args)
{
String[] treeNodes = new String[3];
treeNodes[0] = "01";
treeNodes[1] = "0110";
treeNodes[2] = "01100";
findRoot(treeNodes);
treeNodes[0] = "0110";
treeNodes[1] = "01";
treeNodes[2] = "01100";
findRoot(treeNodes);
treeNodes[0] = "0110";
treeNodes[1] = "10";
treeNodes[2] = "00100";
findRoot(treeNodes);
}
public static String findRoot(String[] treeNodes)
{
//根节点一定是长度最短的节点
int nodeLength = Integer.MAX_VALUE;
int currentLength = 0;
String root = "";
for (int i = 0; i < treeNodes.length; i++)
{
currentLength = treeNodes[i].length();
if (currentLength < nodeLength)
{
root = treeNodes[i];
nodeLength = currentLength;
}
}
//所有的节点必须以根节点开头
int count = 0;
for (int i = 0; i < treeNodes.length; i++)
{
if (treeNodes[i].startsWith(root))
{
count++;
}
}
if (count == treeNodes.length)
{
System.out.println("Root is: " + root);
}
else
{
System.out.println("There is no root");
}
return root;
}
正则表达式应该可以,但是我不会
看不出来你要截取的这些数据有什么规律啊
能把具体情况详细描述一下,这些数据是想通过那种语言来做(数据库还是 某种编程语言)
比如 01 ,0101,01101,这样的我只想取01 ,就是去它的父级
比如 01 ,0101,01101, 0110101, 就是这样的说 我想去 前面的 01,01101 这样的数据 我这样的是想做能树形目录,想求一个具体的逻辑。
大家都没有搞清楚你要问啥。。。你可以再详细清楚地再说一遍