我实际上是在尝试实现一个链表,该链表使用 java 在最后移动列表中的所有现有元音。意思是,给定一个列表(链接),每个节点都包含字符,我需要通过保持原始顺序将所有具有元音的节点移动到链表末尾的方式来分离其节点。
输出应该是这样的:
original list: w->e->r->s->o->m->a->t
Output needed: w->r->s->m->t->a->e->o
我想用 java 实现这个。请让我知道优化的方法是什么(比如不使用任何额外的列表)。任何建议,帮助将不胜感激。
最佳答案
尝试
LinkedList<Character> list = new LinkedList<>(Arrays.asList('w', 'e', 'r', 's', 'o', 'm', 'a', 't'));
int n = list.size();
for(int i = 0; i < n; i++) {
char c = list.get(i);
if ("aeiuoAEIUO".indexOf(c) != -1) {
list.remove(i);
list.add(c);
n--;
}
}
System.out.println(list);
输出
[w, r, s, m, t, e, o, a]
关于java - 在java中列表末尾的链表中移动所有现有元音,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13998957/