您的位置:首页 > 其它

To find the kth to Last Element of a Singly Linked List

2015-07-24 22:23 393 查看

To find the kth to Last Element of a Singly Linked List

To find the kth to Last Element of a Singly Linked List
Web Link

Description

Code - C

Tips

Web Link

None

Description

Write a pro­gram to find the kth to Last Ele­ment of a Singly Linked List

For example:

Orig­i­nal List : ->1->2->8->3->7->0->4

Out­put : 3rd Ele­ment from the end is : 7

Code - C++

片段

[code]ListNode* findkthtolast(ListNode *head, int k) {
    ListNode* runner = head;
    ListNode* chaser = head;
    if (head == NULL || k < 0) {
        return NULL;
    }
    for (int i = 0; i < k; i++) {
        runner = runner->next;
    }
    while (runner != NULL) {
        chaser = chaser->next;
        runner = runner->next;
    }
    return chaser;
}


完整(包括测试)

[code]#include<iostream>
using namespace std;
class ListNode{
public:
    int val;
    ListNode* next;
    ListNode(const int val, ListNode* nextNode = NULL) :val(val), next(nextNode){

    }
};
ListNode* findkthtolast(ListNode *head, int k) {
    ListNode* runner = head;
    ListNode* chaser = head;
    if (head == NULL || k < 0) {
        return NULL;
    }
    for (int i = 0; i < k; i++) {
        runner = runner->next;
    }
    while (runner != NULL) {
        chaser = chaser->next;
        runner = runner->next;
    }
    return chaser;
}
void findkthtolasttest() {
    ListNode* head = new ListNode(1, NULL);
    ListNode* node = head;
    node->next = new ListNode(2, NULL);
    node = node->next;
    node->next = new ListNode(8, NULL);
    node = node->next;
    node->next = new ListNode(4, NULL);
    node = node->next;
    node->next = new ListNode(7, NULL);
    node = node->next;
    node->next = new ListNode(0, NULL);
    node = node->next;
    node->next = new ListNode(4, NULL);
    node = node->next;
    node->next = NULL;
    cout << findkthtolast(head,3)->val << endl;
}
int main() {
    findkthtolasttest();
    return 0;
}


Tips

None
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: