gpt4 book ai didi

java - 超出时间限制,我正在尝试使用链表使用java堆栈删除字符串中的重复项

转载 作者:行者123 更新时间:2023-12-02 08:54:23 25 4
gpt4 key购买 nike

我正在尝试使用链表代码编写java堆栈来删除字符串中的重复元素。基本上,如果元素与顶部元素不同,我会将元素插入堆栈,否则我会弹出顶部元素。剩下的字符串就是所需的字符串。'''

class Node{
char data;
Node next;
Node(char d){
this.data = d;
this.next = null;
}
Node(){
this.next = null;
}

}

class Solution {
public static Node top = new Node();

public String removeDuplicates(String S) {

if(S.length() == 1){
return S;
}
top = new Node(S.charAt(0));

for(int i=1; i<S.length(); i++){
Node newnode1 = new Node(S.charAt(i));
if(top == null){
top = newnode1;
continue;
}
if(newnode1.data != top.data){
newnode1.next = top;
top = newnode1;

}
else{
top = top.next;
}

}
String ans = "";
while(top!= null){
ans += top.data;
}
return ans;

}
}

'''

最佳答案

看起来您只是在同一个顶部节点上进行迭代,错过了刷新顶部指针

在removeDuplicate()中,在return语句之前,在WHILE循环中,尝试提到的更改..

    while(top!= null){
ans += top.data;
top = top.next; // add this
}

关于java - 超出时间限制,我正在尝试使用链表使用java堆栈删除字符串中的重复项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60577602/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com