Skip to content

Instantly share code, notes, and snippets.

@abdulrahmanAlotaibi
Created December 15, 2022 23:34
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save abdulrahmanAlotaibi/bbfccbb368739acd8d66a352998fd2b8 to your computer and use it in GitHub Desktop.
Save abdulrahmanAlotaibi/bbfccbb368739acd8d66a352998fd2b8 to your computer and use it in GitHub Desktop.
Linkedlist Palindrome Linked List
/**
* Definition for singly-linked list.
* type ListNode struct {
* Val int
* Next *ListNode
* }
*/
func isPalindrome(head *ListNode) bool {
dummy := &ListNode{
Val:head.Val,
Next: head.Next,
}
reversed :=dummy
var prev *ListNode
var original = []int{}
for dummy != nil{
original = append(original, dummy.Val)
nextTmp:= dummy.Next
dummy.Next = prev
prev = dummy
dummy = nextTmp
if dummy != nil {
reversed = dummy
}
}
for _,num := range original {
if num != reversed.Val {
return false
}
reversed = reversed.Next
}
return true
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment