Xem thảo luận
Cải thiện bài viết
Lưu bài viết
Xem thảo luận
Cải thiện bài viết
Lưu bài viết
Đọccounter-clockwise by k nodes.
Examples:
Bàn luận linked list = 10->20->30->40->50->60, k= 4
Output: 50->60->10->20->30->40.
Explanation: k is smaller than the count of nodes in a linked list so [k+1 ]th node i.e. 50 becomes the head node and 60’s next points to 10Đưa ra một danh sách được liên kết đơn lẻ, nhiệm vụ là xoay danh sách được liên kết ngược chiều kim đồng hồ bởi các nút K. linked list = 30->40->50->60, k= 2
Output: 50->60->30->40.
Đầu vào: Danh sách được liên kết = 10-> 20-> 30-> 40-> 50-> 60, K = 4Output: 50-> 60-> 10-> 20-> 30-> 40. & NBSP; Giải thích: K nhỏ hơn so với số lượng các nút trong danh sách được liên kết, vì vậy nút [k+1], tức là 50 trở thành nút đầu và các điểm tiếp theo của 60 đến 10Below is the idea to solve the problem:
Đầu vào: Danh sách được liên kết = 30-> 40-> 50-> 60, K = 2Output: 50-> 60-> 30-> 40. & nbsp;kth node to NULL, the next pointer of the last node should point to the previous head node, and finally, change the head to [k+1]th node. So we need to get hold of three nodes: kth node, [k+1]th node, and last node.
Traverse the list from the beginning and stop at kth node. store k’s next in a tem pointer and point k’s next to NULL then start traversing from tem and keep traversing till the end and point end node’s next to start node and make tem as the new head.
Cách tiếp cận: Dưới đây là ý tưởng giải quyết vấn đề:
- Để xoay danh sách được liên kết, chúng ta cần thay đổi con trỏ tiếp theo của nút KTH thành NULL, con trỏ tiếp theo của nút cuối cùng sẽ trỏ đến nút đầu trước đó và cuối cùng, thay đổi đầu thành nút [K+1]. Vì vậy, chúng ta cần giữ ba nút: nút KTH, [k+1] nút và nút cuối cùng. & Nbsp; di chuyển danh sách từ đầu và dừng tại nút KTH. Lưu trữ Kiên tiếp theo trong một con trỏ tạm thời và điểm Kiên bên cạnh NULL sau đó bắt đầu đi qua TEM và tiếp tục đi qua cho đến cuối và điểm cuối nút Node bên cạnh để bắt đầu nút và làm TEM làm đầu mới.count variable with 0 and pointer kthnode pointing to Null and current pointing to head node.
- Thực hiện theo các bước dưới đây để thực hiện ý tưởng:current till k-1 and point kthnode to current’s next and current’t next to NULL.
- Khởi tạo một biến đếm với 0 và con trỏ kthnode trỏ đến null và dòng điện trỏ vào nút đầu.head.
Di chuyển từ hiện tại đến K-1 và Point Kthnode & nbsp; sang hiện tại tiếp theo và hiện tại bên cạnh NULL.
Di chuyển dòng điện từ nút KTH sang nút kết thúc và điểm hiện tại bên cạnh đầu.
C++
#include
Hình ảnh dưới đây cho thấy cách xoay chức năng hoạt động trong mã:
Dưới đây là việc thực hiện phương pháp trên:
public
:
using
namespace
std;
#include
3
#include
4
class
Node {
#include
9
____10 #include
1
using
3using
4using
5
using
7
#include
5 #include
6#include
0 #include
8
using
1 using
2
using
3namespace
5
using
3namespace
7
namespace
9
____10 namespace
0
using
3using
4using
5
std;
7
namespace
2 namespace
3
using
3namespace
5
class
4
class
6
class
8
namespace
9
using
1 std;
2
#include
9
namespace
2 class
0
public
0
public
2
public
4
namespace
9
#include
5 Node {
1#include
0 Node {
3
#include
9
Node {
6Node {
7 Node {
8
using
3:
3:
4using
5
using
3:
7
namespace
9
namespace
9
#include
5 public
7
#include
9
7
namespace
2 :
1
using
3#include
04
#include
06#include
07using
5
#include
10
#include
12
#include
0
2#include
5
4
#include
10
9 #include
00____10 #include
02
namespace
9
#include
06#include
15using
5
#include
23
#include
24
using
4 #include
21
using
namespace
std;
class
Node {
#include
4
____10 #include
1
#include
9
____10 #include
1
using
3using
4using
5
#include
5 #include
6#include
0 #include
8
#include
5 #include
6#include
0 #include
8
using
1 using
2
____10 namespace
0
using
3namespace
7
namespace
9
____10 namespace
0
using
3using
4using
5
namespace
2 namespace
3
namespace
2 namespace
3
using
3namespace
5
class
4
class
6
class
8
namespace
9
using
1 std;
2
#include
9
namespace
2 class
0
#include
5 Node {
1#include
0 Node {
3
public
0
public
2
public
4
namespace
9
Node {
6Node {
7 Node {
8
#include
9
Node {
6Node {
7 Node {
8
using
3using
19#include
00using
21using
22
using
3:
7
namespace
9
namespace
9
#include
5 public
7
#include
9
namespace
2 :
1
namespace
2 :
1
using
3#include
04
using
19#include
00#include
07using
47
#include
10
#include
0
2#include
5
4
using
19#include
00#include
15using
47
#include
10
9 #include
00____10 #include
02
namespace
9
#include
06#include
15using
5
using
4 #include
21
using
66
C
#include
25 Node {
using
3using
74
#include
25 #include
3
using
3#include
9
using
81using
82
using
81using
84using
85using
5
using
3namespace
9
namespace
9
#include
5 #include
35#include
25 #include
37#include
0 #include
8
#include
9
using
3using
1 namespace
00namespace
01
4
using
81using
4using
5
using
3namespace
07
using
3#include
0 namespace
10namespace
11using
5
using
3namespace
2 namespace
15using
85namespace
17
using
81namespace
19
using
81namespace
7
using
3namespace
9
using
3using
1 namespace
26using
85
4
using
81using
4using
5
using
3namespace
33
using
3namespace
2 namespace
36using
85
4
using
81namespace
19
using
3namespace
42
using
3namespace
44
using
3namespace
46using
85using
5
namespace
9
#include
5 #include
84____10 Node {
3
#include
9
using
3namespace
59Node {
7 namespace
61
using
3namespace
63
using
3namespace
65
namespace
9
#include
5 namespace
70
#include
9
using
3namespace
74
using
3namespace
2 namespace
77using
85namespace
17
using
81namespace
81:
4using
47
using
81namespace
85
using
3namespace
9
using
3namespace
89
namespace
9
public
namespace
94 #include
5 namespace
96
#include
9
using
3std;
00Node {
7 std;
02
using
3
9 #include
00#include
0 std;
07____408std;
09std;
10std;
11std;
10
4
using
81std;
15
using
3std;
17std;
18using
47
using
3std;
21
using
3std;
23std;
24using
47
using
3std;
17std;
28using
47
using
3std;
21
namespace
9
std;
34
Python
class
std;
36
std;
38 std;
39std;
40std;
41
using
3std;
40std;
4444445 std;
46
using
3std;
40std;
49std;
50 std;
45 std;
52
class
std;
54
std;
38 std;
39std;
40std;
59
using
3std;
40std;
62std;
45 std;
52
std;
38 #include
84std;
40std;
69
using
3std;
71std;
45 std;
73
using
3std;
75std;
50 std;
45 std;
40std;
79
using
3std;
40std;
62std;
45 std;
84
std;
38 using
11std;
40std;
59
using
3std;
91std;
45 std;
40std;
79
using
3namespace
2std;
97
using
81std;
99 class
00
using
81std;
91std;
45 class
04std;
50
std;
38 #include
35std;
40class
10
using
3using
1 class
13std;
45std;
45 namespace
01:
using
81using
4
using
3class
21std;
45 std;
40std;
79
using
3class
26std;
45 namespace
11
using
3namespace
2class
31class
32
using
81class
21std;
45 class
41std;
50
using
81class
26class
45std;
45 namespace
11
using
3using
1 class
21class
34 std;
52:
using
81using
4
using
3class
57std;
45 class
59
using
3namespace
2class
62std;
50 class
34 class
35
using
81class
21std;
45 class
41std;
50
using
81class
26class
45std;
45 namespace
11
using
3using
1 class
21class
34 std;
52:
using
3class
57std;
45 class
59
using
3namespace
2class
62std;
50 class
34 class
35
using
3class
41std;
50 std;
45 std;
40std;
79
Node {
06
using
3std;
40std;
62std;
45 class
83std;
50
Node {
09
std;
23std;
24
4
using
3class
83std;
50 std;
45 std;
52
Node {
09
C#
class
90std;
45 class
92
Is
using
66
std;
99 Node {
08
std;
99 Node {
14
using
Node {
17
public
class
using
64
using
3#include
9
using
81using
82
using
81using
84using
85using
5
using
3namespace
9
namespace
9
public
class
Node {
#include
9
using
3public
#include
0 #include
1
using
81using
4using
5
using
3namespace
07
using
3public
using
74
using
3namespace
2 namespace
15using
85namespace
17
using
81namespace
19
using
81namespace
7
using
3namespace
9
using
3using
1 namespace
26using
85
4
using
81using
4using
5
using
3namespace
33
using
3namespace
2 namespace
36using
85
4
using
81namespace
19
using
3namespace
42
using
3namespace
44
using
3namespace
46using
85using
5
namespace
9
#include
5 #include
84____10 Node {
3
#include
9
using
3namespace
59Node {
7 namespace
61
using
3namespace
63
using
3namespace
65
namespace
9
#include
5 namespace
70
#include
9
using
3namespace
74
using
3namespace
2 namespace
77using
85namespace
17
using
81public
37:
4using
47
using
81namespace
85
using
3namespace
9
using
3public
45
namespace
9
public
namespace
94 #include
5 public
52
#include
9
using
3std;
00Node {
7 std;
02
using
3
9 #include
00#include
0 public
63
using
81std;
15
using
3public
67std;
18using
47
using
3std;
21
using
3public
73
using
3public
67std;
28using
47
using
3std;
21
namespace
9
namespace
9
JavaScript
public
83
public
84 public
85
public
86public
87
using
3public
89
using
81public
91public
92
using
81public
91public
95using
85using
5
using
3namespace
9
namespace
9
:
03 :
04
using
3using
1 using
2
using
81using
4using
5
using
3public
84 :
13
using
3public
84 namespace
0
using
3namespace
2 namespace
15using
85namespace
17
using
81namespace
19
using
81namespace
7
using
3namespace
9
using
3using
1 namespace
26using
85
4
using
81using
4using
5
using
3public
84 :
38
using
3namespace
2 namespace
36using
85
4
using
81namespace
19
using
3namespace
42
using
3namespace
44
using
3namespace
46using
85using
5
namespace
9
:
03 :
58
:
59public
84 :
61Node {
7 namespace
61
using
3namespace
63
using
3namespace
65
namespace
9
:
03 :
72
:
59public
84 :
75
using
3namespace
2 namespace
77using
85namespace
17
using
81:
82:
4using
47
using
81namespace
85
using
3namespace
9
using
3:
90:
91using
47
namespace
9
using
3
9 :
97
using
81:
99
using
3:
90
02using
47
using
3
05
using
3
07
using
3:
90
10using
47
using
3
05
14
Đầu ra
Given linked list 10 20 30 40 50 60 Rotated Linked list 50 60 10 20 30 40
Độ phức tạp về thời gian: O [n], trong đó n là số lượng nút trong danh sách được liên kết.AUXILIARY Không gian: O [1] O[N], where N is the number of nodes in Linked List.
Auxiliary Space: O[1]
Vui lòng viết nhận xét nếu bạn tìm thấy bất cứ điều gì không chính xác, hoặc bạn muốn chia sẻ thêm thông tin về chủ đề được thảo luận ở trên.