链表翻转实现字符串翻转

字符串反转

http://www.nowcoder.com/questionTerminal/e45e078701ab4e4cb49393ae30f1bb04

通过链表翻转对字符串进行反转
import java.util.Scanner;
public class Main {
    public static void main(String[] args) {
        Main node = new Main();
        Scanner sc = new Scanner(System.in);
        String str = sc.nextLine();
        char[] ch = str.toCharArray();
        ListNode[] listNodes = new ListNode[ch.length];
        for (int i = 0; i < ch.length; i++){
            listNodes[i] = new ListNode(ch[i]);
        }
        for (int i = 0; i < ch.length - 1; i++){
            listNodes[i].next = listNodes[i + 1];
        }
        ListNode res = node.ReverseListNode(listNodes[0]);
        while (res != null){
            System.out.print(res.val);
            res = res.next;
        }
    }
    public ListNode ReverseListNode(ListNode head){
        if (head == null) return null;
        ListNode pre = null;
        ListNode next = null;
        while (head != null){
            next = head.next;
            head.next = pre;
            pre = head;
            head = next;
        }
        return pre;
    }
}
class ListNode{
    ListNode next = null;
    char val;
    ListNode(char val){
        this.val = val;
    }
}


全部评论

相关推荐

牛客5655:其他公司的面试(事)吗
点赞 评论 收藏
分享
牛舌:如果我不想去,不管对方给了多少,我一般都会说你们给得太低了。这样他们就会给下一个offer的人更高的薪资了。
点赞 评论 收藏
分享
评论
2
收藏
分享
牛客网
牛客企业服务