Welcome everyone

每周一练(22)

每周一练 汪明鑫 703浏览 0评论

得到链表从尾到头的元素

 

public class Solution {
    public ArrayList<Integer> getListFromTailToHead(ListNode listNode) {
 
        ArrayList<Integer> result = new ArrayList<Integer>();
        while(listNode != null){
            int key = listNode.val;
            result.add(0, key);
            listNode = listNode.next;
        }
        return result;
    }

result.add(0, key) 在list第一个位置加入元素

 

 

递归法:

public class Solution {
 
    ArrayList<Integer> result = new ArrayList<Integer>();
    public void help(ListNode listNode){
        if(listNode!= null && listNode.next != null)
            help(listNode.next);
        if(listNode != null)
            result.add(listNode.val);
    }
    public ArrayList<Integer> gettListFromTailToHead(ListNode listNode) {
 
        help(listNode);
        return result;
    }
}

递归到最后一个元素  listNode != null && listNode.next == null

然后依次往上一个return,并添加到list

 

 

转载请注明:汪明鑫的个人博客 » 每周一练(22)

喜欢 (0)

说点什么

您将是第一位评论人!

提醒
avatar
wpDiscuz